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