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