xref: /inferno-os/lib9/getuser-posix.c (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1 #include "lib9.h"
2 #include <pwd.h>
3 
4 char*
getuser(void)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