getpw.c

来自「Version 6 Unix 核心源代码 Version 6 Unix 核心源」· C语言 代码 · 共 44 行

C
44
字号
getpw(uid, buf)int uid;char buf[];{	auto pbuf[259];	static pwf;	register n, c;	register char *bp;	if(pwf == 0)		pwf = open("/etc/passwd", 0);	if(pwf < 0)		return(1);	seek(pwf, 0, 0);	pbuf[0] = pwf;	pbuf[1] = 0;	pbuf[2] = 0;	uid =& 0377;	for (;;) {		bp = buf;		while((c=getc(pbuf)) != '\n') {			if(c <= 0)				return(1);			*bp++ = c;		}		*bp++ = '\0';		bp = buf;		n = 3;		while(--n)		while((c = *bp++) != ':')			if(c == '\n')				return(1);		while((c = *bp++) != ':') {			if(c<'0' || c>'9')				continue;			n = n*10+c-'0';		}		if(n == uid)			return(0);	}	return(1);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?