getlogin.c
来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 35 行
C
35 行
/* @(#)getlogin.c 1.4 *//* @(#)getlogin.c 1.2 *//*LINTLIBRARY*/#include <sys/types.h>#include "utmp.h"#define NULL 0extern long lseek();extern int open(), read(), close(), ttyslot();char *getlogin(){ register me, uf; struct utmp ubuf ; static char answer[sizeof(ubuf.ut_user)+1] ; if((me = ttyslot()) < 0) return(NULL); if((uf = open(UTMP_FILE, 0)) < 0) return(NULL); (void) lseek(uf, (long)(me * sizeof(ubuf)), 0); if(read(uf, (char*)&ubuf, sizeof(ubuf)) != sizeof(ubuf)) { (void) close(uf); return(NULL); } (void) close(uf); if(ubuf.ut_user[0] == '\0') return(NULL); strncpy(&answer[0],&ubuf.ut_user[0],sizeof(ubuf.ut_user)) ; answer[sizeof(ubuf.ut_user)] = '\0' ; return(&answer[0]);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?