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