register struct shvar2
*p1
, *p2
;
if (any(p1
->value
[0], ";&\n"))
register struct shvar2
*p
;
for (p
= p1
; p
!= p2
; p
= p
->next
)
t
[DFLG
] = FAND
|FPRS
|FINT
;
t1
[DFLG
] =| FAND
|FPRS
|FINT
;
register struct shvar
*p
;
for (p
= p1
; p
!= p2
; p
= p
->next
)
t
[DRIT
] = syntax(p
->next
, p2
);
register struct shvar2
*p
, *pn
;
for (p
= p1
; p
!= p2
; p
= p
->next
)
if (pn
!= p2
&& pn
->value
[0] == '*') {
t
[DRIT
] = syn2(p
->next
, p2
);
* ( syn0 ) [ < in ] [ > out ]
* word word* [ < in ] [ > out ]
register struct shvar2
*p
;
for (p
= p1
; p
!= p2
; p
= p
->next
)
if (any(p
->next
->value
[0], "<>(*"))
t
= calloc(2, 5 + n
+ 1);
for (p
= p1
; p
!= p2
; p
= p
->next
) {
seterr("Badly placed (");
if (p
->value
[0] == '*') {
seterr("Missing file for redirect");
if (any(p
->value
[0], "<>(")) {
seterr("Syntax error in redirection");
seterr("Multiple < redirect");
seterr("Multiple output redirect");
seterr("Only redirect allowed outside ()'s");
seterr("Inappropriate empty command");
for (v
= &t
[DCOM
]; *v
; v
++)