search for: varnest

Displaying 7 results from an estimated 7 matches for "varnest".

Did you mean: earnest
2019 Jan 25
0
[klibc:update-dash] parser: Add syntax stack for recursive parsing
...8363ca 100644 --- a/usr/dash/parser.c +++ b/usr/dash/parser.c @@ -80,6 +80,18 @@ struct heredoc { int striptabs; /* if set, strip leading tabs */ }; +struct synstack { + const char *syntax; + struct synstack *prev; + struct synstack *next; + int innerdq; + int varpushed; + int dblquote; + int varnest; /* levels of variables expansion */ + int parenlevel; /* levels of parens in arithmetic */ + int dqvarnest; /* levels of variables expansion within double quotes */ +}; + struct heredoc *heredoclist; /* list of here documents to read */ @@ -841,6 +853,21 @@ static int pgetc_eatbnl(void)...
2020 Mar 28
0
[klibc:update-dash] dash: parser: Add syntax stack for recursive parsing
...8363ca 100644 --- a/usr/dash/parser.c +++ b/usr/dash/parser.c @@ -80,6 +80,18 @@ struct heredoc { int striptabs; /* if set, strip leading tabs */ }; +struct synstack { + const char *syntax; + struct synstack *prev; + struct synstack *next; + int innerdq; + int varpushed; + int dblquote; + int varnest; /* levels of variables expansion */ + int parenlevel; /* levels of parens in arithmetic */ + int dqvarnest; /* levels of variables expansion within double quotes */ +}; + struct heredoc *heredoclist; /* list of here documents to read */ @@ -841,6 +853,21 @@ static int pgetc_eatbnl(void)...
2019 Jan 25
0
[klibc:update-dash] parser: Fix single-quoted patterns in here-documents
.../dash/parser.c +++ b/usr/dash/parser.c @@ -934,7 +934,8 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs) USTPUTC(c, out); break; case CCTL: - if (eofmark == NULL || synstack->dblquote) + if ((!eofmark) | synstack->dblquote | + synstack->varnest) USTPUTC(CTLESC, out); USTPUTC(c, out); break;
2019 Jan 25
0
[klibc:update-dash] parser: Allow newlines within parameter substitution
...char const *syntax, char *eofmark, int striptabs) CHECKSTRSPACE(4, out); /* permit 4 calls to USTPUTC */ switch(synstack->syntax[c]) { case CNL: /* '\n' */ - if (synstack->syntax == BASESYNTAX) + if (synstack->syntax == BASESYNTAX && + !synstack->varnest) goto endword; /* exit outer loop */ USTPUTC(c, out); nlprompt();
2020 Mar 28
0
[klibc:update-dash] dash: parser: Fix single-quoted patterns in here-documents
.../dash/parser.c +++ b/usr/dash/parser.c @@ -934,7 +934,8 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs) USTPUTC(c, out); break; case CCTL: - if (eofmark == NULL || synstack->dblquote) + if ((!eofmark) | synstack->dblquote | + synstack->varnest) USTPUTC(CTLESC, out); USTPUTC(c, out); break;
2020 Mar 28
0
[klibc:update-dash] dash: parser: Allow newlines within parameter substitution
...char const *syntax, char *eofmark, int striptabs) CHECKSTRSPACE(4, out); /* permit 4 calls to USTPUTC */ switch(synstack->syntax[c]) { case CNL: /* '\n' */ - if (synstack->syntax == BASESYNTAX) + if (synstack->syntax == BASESYNTAX && + !synstack->varnest) goto endword; /* exit outer loop */ USTPUTC(c, out); nlprompt();
2006 Jan 08
2
[mips] pipe doesn't work in dash
...ninitialized in this function dash/parser.c:842: warning: variable 'quotef' might be clobbered by 'longjmp' or 'vfork' dash/parser.c:843: warning: variable 'dblquote' might be clobbered by 'longjmp' or 'vfork' dash/parser.c:844: warning: variable 'varnest' might be clobbered by 'longjmp' or 'vfork' dash/parser.c:845: warning: variable 'arinest' might be clobbered by 'longjmp' or 'vfork' dash/parser.c:846: warning: variable 'parenlevel' might be clobbered by 'longjmp' or 'vfork' dash...