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