20 lines
668 B
Plaintext
20 lines
668 B
Plaintext
--- src/cmd/ksh93/sh/lex.c
|
|
+++ src/cmd/ksh93/sh/lex.c 2013-02-26 12:21:11.618820739 +0100
|
|
@@ -1559,6 +1559,7 @@ static int comsub(register Lex_t *lp, in
|
|
register int line=lp->sh->inlineno;
|
|
char *first,*cp=fcseek(0),word[5];
|
|
int off, messages=0, assignok=lp->assignok, csub;
|
|
+ struct ionod *inheredoc = lp->heredoc;
|
|
struct lexstate save;
|
|
save = lp->lex;
|
|
csub = lp->comsub;
|
|
@@ -1683,7 +1684,7 @@ done:
|
|
lp->lexd.dolparen--;
|
|
lp->lex = save;
|
|
lp->assignok = (endchar(lp)==RBRACT?assignok:0);
|
|
- if(lp->heredoc)
|
|
+ if(lp->heredoc && !inheredoc)
|
|
errormsg(SH_DICT,ERROR_exit(SYNBAD),e_lexsyntax5,lp->sh->inlineno,lp->heredoc->ioname);
|
|
return(messages);
|
|
}
|