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