1*9193Ssam /* getlogin.c 4.2 82/11/14 */ 2*9193Ssam 39109Ssam #include <utmp.h> 49109Ssam 5*9193Ssam static char UTMP[] = "/etc/utmp"; 6*9193Ssam static struct utmp ubuf; 79109Ssam 89109Ssam char * 99109Ssam getlogin() 109109Ssam { 11*9193Ssam register int me, uf; 129109Ssam register char *cp; 139109Ssam 14*9193Ssam if (!(me = ttyslot())) 159109Ssam return(0); 16*9193Ssam if ((uf = open(UTMP, 0)) < 0) 17*9193Ssam return (0); 18*9193Ssam lseek (uf, (long)(me*sizeof(ubuf)), 0); 19*9193Ssam if (read(uf, (char *)&ubuf, sizeof (ubuf)) != sizeof (ubuf)) { 20*9193Ssam close(uf); 21*9193Ssam return (0); 22*9193Ssam } 239109Ssam close(uf); 249109Ssam ubuf.ut_name[sizeof (ubuf.ut_name)] = ' '; 25*9193Ssam for (cp = ubuf.ut_name; *cp++ != ' '; ) 269109Ssam ; 279109Ssam *--cp = '\0'; 28*9193Ssam return (ubuf.ut_name); 299109Ssam } 30