xref: /inferno-os/lib9/getuser-posix.c (revision 7ef44d652ae9e5e1f5b3465d73684e4a54de73c0)
1 #include "lib9.h"
2 #include <pwd.h>
3 
4 char*
5 getuser(void)
6 {
7 	struct passwd *p;
8 
9 	static char *user = 0;
10 
11 	if (!user) {
12 		p = getpwuid(getuid());
13 		if (p && p->pw_name) {
14 			user = malloc(strlen(p->pw_name)+1);
15 			if (user)
16 				strcpy(user, p->pw_name);
17 		}
18 	}
19 	if(!user)
20 		user = "unknown";
21 	return user;
22 }
23