13 lines
255 B
C
13 lines
255 B
C
#include <unistd.h>
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
|
|
int getlogin_r(char *name, size_t size)
|
|
{
|
|
char *logname = getlogin();
|
|
if (!logname) return ENXIO; /* or...? */
|
|
if (strlen(logname) >= size) return ERANGE;
|
|
strcpy(name, logname);
|
|
return 0;
|
|
}
|