URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [newlib/] [libc/] [unix/] [getlogin.c] - Rev 326
Go to most recent revision | Compare with Previous | Blame | View Log
#ifndef _NO_GETLOGIN #include <string.h> #include <unistd.h> #include <sys/types.h> #include <utmp.h> #include <fcntl.h> #include <_syslist.h> char * getlogin () { int utmp_fd; struct utmp utmp_buf; static char buf[10]; extern char *ttyname (); char *tty; if (((tty = ttyname (0)) == 0) || ((tty = ttyname (1)) == 0) || ((tty = ttyname (2)) == 0)) return 0; if ((utmp_fd = open (UTMP_FILE, O_RDONLY)) == -1) return 0; if (!strncmp (tty, "/dev/", 5)) tty += 5; while (read (utmp_fd, &utmp_buf, sizeof (utmp_buf)) == sizeof (utmp_buf)) { if (!strncmp (tty, utmp_buf.ut_line, sizeof (utmp_buf.ut_line)) && utmp_buf.ut_type == USER_PROCESS) { close (utmp_fd); memset (buf, 0, sizeof (buf)); strncpy (buf, utmp_buf.ut_user, sizeof (utmp_buf.ut_user)); return buf; } } close (utmp_fd); return 0; } #endif /* !_NO_GETLOGIN */
Go to most recent revision | Compare with Previous | Blame | View Log