1 #define _GNU_SOURCE 2 #include <pwd.h> 3 #include <stdio.h> 4 #include <unistd.h> 5 cuserid(char * buf)6char *cuserid(char *buf) 7 { 8 struct passwd pw, *ppw; 9 long pwb[256]; 10 if (getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw)) 11 return 0; 12 snprintf(buf, L_cuserid, "%s", pw.pw_name); 13 return buf; 14 } 15