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