master
1#include <unistd.h>
2#include <string.h>
3#include <errno.h>
4
5int getlogin_r(char *name, size_t size)
6{
7 char *logname = getlogin();
8 if (!logname) return ENXIO; /* or...? */
9 if (strlen(logname) >= size) return ERANGE;
10 strcpy(name, logname);
11 return 0;
12}