Add original unix v6
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user