ref: 354b56d6bfdca067a6f04a39c4ce4bc9c0160861
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; }