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