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