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}
13