1*9109Ssam /* @(#)getlogin.c 4.1 (Berkeley) 11/07/82 */ 2*9109Ssam #include <utmp.h> 3*9109Ssam 4*9109Ssam static char UTMP[] = "/etc/utmp"; 5*9109Ssam static struct utmp ubuf; 6*9109Ssam 7*9109Ssam char * 8*9109Ssam getlogin() 9*9109Ssam { 10*9109Ssam register me, uf; 11*9109Ssam register char *cp; 12*9109Ssam 13*9109Ssam if( !(me = ttyslot()) ) 14*9109Ssam return(0); 15*9109Ssam if( (uf = open( UTMP, 0 )) < 0 ) 16*9109Ssam return(0); 17*9109Ssam lseek( uf, (long)(me*sizeof(ubuf)), 0 ); 18*9109Ssam if (read(uf, (char *)&ubuf, sizeof(ubuf)) != sizeof(ubuf)) 19*9109Ssam return(0); 20*9109Ssam close(uf); 21*9109Ssam ubuf.ut_name[sizeof (ubuf.ut_name)] = ' '; 22*9109Ssam for (cp=ubuf.ut_name; *cp++!=' ';) 23*9109Ssam ; 24*9109Ssam *--cp = '\0'; 25*9109Ssam return( ubuf.ut_name ); 26*9109Ssam } 27