register char *acname
, **v
;
dolc
= ldiv(0, dolc
, 10);
if(((uid
= getuid())&0377) == 0)
treeend
= &trebuf
[TRESIZ
];
err("syntax error"); else
while((c
=readc()) != c1
) {
if(any(c
, " '\"\t;&<>()|^\n")) {
prs("Command line overflow\n");
while((c
=getc()) != '\n');
while((c
=getc()) != '\n');
err("Too many characters");
if ((c
= *arginp
++) == 0) {
t1
[DFLG
] =| FAND
|FPRS
|FINT
;
t
[DRIT
] = syntax(p
+1, p2
);
* ( syn1 ) [ < in ] [ > out ]
* word word* [ < in ] [ > out ]
register char *cp1
, *cp2
;
if(equal(cp1
, "chdir")) {
err("chdir: bad directory");
if(equal(cp1
, "shift")) {
if(equal(cp1
, "login")) {
execv("/bin/login", t
+DCOM
);
prs("login: cannot execute\n");
if(equal(cp1
, "newgrp")) {
execv("/bin/newgrp", t
+DCOM
);
prs("newgrp: cannot execute\n");
i
= creat(t
[DRIT
], 0666);
if((f
&FINT
)!=0 && t
[DLEF
]==0 && (f
&FPIN
)==0) {
if((f
&FINT
) == 0 && setintr
) {
prs("glob: cannot execute\n");
t1
[DFLG
] =| FPOU
| (f
&(FPIN
|FINT
|FPRS
));
t1
[DFLG
] =| FPIN
| (f
&(FPOU
|FINT
|FAND
|FPRS
));
lsub(tbuf
.realt
, timbuf
.proct
, timeb
.proct
);
lsub(tbuf
.bcput
, timbuf
.cputim
, timeb
.cputim
);
lsub(tbuf
.bsyst
, timbuf
.systim
, timeb
.systim
);
while (*s
!= '\0' && *s
!= '/')
tbuf
.datet
[0] = timbuf
.proct
[0];
tbuf
.datet
[1] = timbuf
.proct
[1];
write(acctf
, &tbuf
, sizeof(tbuf
));