1 #include <unistd.h> 2 #include <string.h> 3 #include <errno.h> 4 getlogin_r(char * name,size_t size)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