1#define _GNU_SOURCE 2#include <pwd.h> 3#include <stdio.h> 4#include <unistd.h> 5 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