ref: 51bcc63cc6bce3f9dab27cf6bd7155512b82c8fa
dir: /lib9/getuser-posix.c/
#include "lib9.h" #include <pwd.h> char* getuser(void) { struct passwd *p; static char *user = 0; if (!user) { p = getpwuid(getuid()); if (p && p->pw_name) { user = malloc(strlen(p->pw_name)+1); if (user) strcpy(user, p->pw_name); } } if(!user) user = "unknown"; return user; }