search for: nlflag

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

Did you mean: lflag
2019 Jan 25
0
[klibc:update-dash] [PARSER] Simplify EOF/newline handling in list parser
...int t; - tokpushback = 0; + checkkwd = 0; + heredoclist = 0; doprompt = interact; if (doprompt) setprompt(doprompt); needprompt = 0; - t = readtoken(); - if (t == TEOF) - return NEOF; - if (t == TNL) - return NULL; - tokpushback++; return list(1); } @@ -158,11 +152,27 @@ list(int nlflag) union node *n1, *n2, *n3; int tok; - checkkwd = CHKNL | CHKKWD | CHKALIAS; - if (nlflag == 2 && tokendlist[peektoken()]) - return NULL; n1 = NULL; for (;;) { + switch (peektoken()) { + case TNL: + if (!(nlflag & 1)) + break; + parseheredoc(); + return n1; + + cas...
2020 Mar 28
0
[klibc:update-dash] dash: [PARSER] Simplify EOF/newline handling in list parser
...int t; - tokpushback = 0; + checkkwd = 0; + heredoclist = 0; doprompt = interact; if (doprompt) setprompt(doprompt); needprompt = 0; - t = readtoken(); - if (t == TEOF) - return NEOF; - if (t == TNL) - return NULL; - tokpushback++; return list(1); } @@ -158,11 +152,27 @@ list(int nlflag) union node *n1, *n2, *n3; int tok; - checkkwd = CHKNL | CHKKWD | CHKALIAS; - if (nlflag == 2 && tokendlist[peektoken()]) - return NULL; n1 = NULL; for (;;) { + switch (peektoken()) { + case TNL: + if (!(nlflag & 1)) + break; + parseheredoc(); + return n1; + + cas...
2020 Mar 28
0
[klibc:update-dash] dash: parser: Do not push token back before parseheredoc
...ned-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/dash/parser.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr/dash/parser.c b/usr/dash/parser.c index c4e63781..1f9e8ec0 100644 --- a/usr/dash/parser.c +++ b/usr/dash/parser.c @@ -166,7 +166,7 @@ list(int nlflag) n1 = NULL; for (;;) { - switch (peektoken()) { + switch (readtoken()) { case TNL: if (!(nlflag & 1)) break; @@ -177,9 +177,12 @@ list(int nlflag) if (!n1 && (nlflag & 1)) n1 = NEOF; parseheredoc(); + tokpushback++; + lasttoken = TEOF; return...
2019 Jan 25
0
[klibc:update-dash] [SHELL] Optimize dash -c "command" to avoid a fork
...art of line */ int lasttoken; /* last token read */ -MKINIT int tokpushback; /* last token pushed back */ +int tokpushback; /* last token pushed back */ char *wordtext; /* text of last word returned by readtoken */ int checkkwd; struct nodelist *backquotelist; @@ -210,6 +210,7 @@ list(int nlflag) parseheredoc(); else pungetc(); /* push back EOF on input */ + tokpushback++; return n1; default: if (nlflag == 1) diff --git a/usr/dash/parser.h b/usr/dash/parser.h index e6caed63..2875cce6 100644 --- a/usr/dash/parser.h +++ b/usr/dash/parser.h @@ -34,6 +34,8 @@ * @(...
2020 Mar 28
0
[klibc:update-dash] dash: [SHELL] Optimize dash -c "command" to avoid a fork
...art of line */ int lasttoken; /* last token read */ -MKINIT int tokpushback; /* last token pushed back */ +int tokpushback; /* last token pushed back */ char *wordtext; /* text of last word returned by readtoken */ int checkkwd; struct nodelist *backquotelist; @@ -210,6 +210,7 @@ list(int nlflag) parseheredoc(); else pungetc(); /* push back EOF on input */ + tokpushback++; return n1; default: if (nlflag == 1) diff --git a/usr/dash/parser.h b/usr/dash/parser.h index e6caed63..2875cce6 100644 --- a/usr/dash/parser.h +++ b/usr/dash/parser.h @@ -34,6 +34,8 @@ * @(...
2019 Jan 25
0
[klibc:update-dash] [PARSER] Removed unnecessary pungetc on EOF from parser
...pana.org.au> Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/dash/parser.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr/dash/parser.c b/usr/dash/parser.c index f6c43be0..f0c919d5 100644 --- a/usr/dash/parser.c +++ b/usr/dash/parser.c @@ -208,8 +208,6 @@ list(int nlflag) case TEOF: if (heredoclist) parseheredoc(); - else - pungetc(); /* push back EOF on input */ tokpushback++; return n1; default:
2020 Mar 28
0
[klibc:update-dash] dash: [PARSER] Removed unnecessary pungetc on EOF from parser
...pana.org.au> Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/dash/parser.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr/dash/parser.c b/usr/dash/parser.c index f6c43be0..f0c919d5 100644 --- a/usr/dash/parser.c +++ b/usr/dash/parser.c @@ -208,8 +208,6 @@ list(int nlflag) case TEOF: if (heredoclist) parseheredoc(); - else - pungetc(); /* push back EOF on input */ tokpushback++; return n1; default: