#include "lslib.h" #include #include #include #include void* xalloc(size_t size) { void *ptr = malloc(size); if (ptr == NULL && size != 0) die(); return ptr; } void* xrealloc(void* ptr, size_t size) { ptr = realloc(ptr, size); if (ptr == NULL && size != 0) die(); return ptr; } void* xzalloc(size_t size) { void* ptr = xalloc(size); memset(ptr, 0, size); return ptr; } void xsetenv(const char *name, const char *value) { if (setenv(name, value, 1)) error("cannot set env"); } void xsetuid(uid_t uid) { if (setuid(uid)) error("cannot set uid"); } void xsetgid(gid_t gid) { if (setgid(gid)) error("cannot set gid"); } struct passwd* xgetpwnam(char* name) { struct passwd* pw; pw = getpwnam(name); if (!pw) error("cannot get user: '%s'", name); return pw; }