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