Here you have it: #include <sys/types.h> #include <errno.h> #include <pwd.h> #include <stdio.h>
int
main(int argc, char **argv)
{
struct passwd *p;
int e;
e = errno, errno = 0;
p = getpwuid(0);
if (errno) {
fprintf(stdout, "errno is: %u\n", errno);
return 127;
}
errno = e;
if (p) fprintf(stdout, "%s\n", p->pw_name);
return 0;
}

