getlogin_r.c raw

   1  #include <unistd.h>
   2  #include <string.h>
   3  #include <errno.h>
   4  
   5  int 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