#define _GNU_SOURCE #include #include #include char* cuserid(char* buf) { struct passwd pw, *ppw; long pwb[256]; if (getpwuid_r(geteuid(), &pw, (void*)pwb, sizeof pwb, &ppw)) return 0; snprintf(buf, L_cuserid, "%s", pw.pw_name); return buf; }