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