|
|
1.1 root 1: /* getlogin.c 4.2 82/11/14 */
2:
3: #include <utmp.h>
4:
5: static char UTMP[] = "/etc/utmp";
6: static struct utmp ubuf;
7:
8: char *
9: getlogin()
10: {
11: register int me, uf;
12: register char *cp;
13:
14: if (!(me = ttyslot()))
15: return(0);
16: if ((uf = open(UTMP, 0)) < 0)
17: return (0);
18: lseek (uf, (long)(me*sizeof(ubuf)), 0);
19: if (read(uf, (char *)&ubuf, sizeof (ubuf)) != sizeof (ubuf)) {
20: close(uf);
21: return (0);
22: }
23: close(uf);
24: ubuf.ut_name[sizeof (ubuf.ut_name)] = ' ';
25: for (cp = ubuf.ut_name; *cp++ != ' '; )
26: ;
27: *--cp = '\0';
28: return (ubuf.ut_name);
29: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.