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}