diff options
author | tegge <tegge@FreeBSD.org> | 2001-09-19 20:07:47 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 2001-09-19 20:07:47 +0000 |
commit | 0c39138a0b8e8641570b8e60e24b63c5226b67dd (patch) | |
tree | cccdbf82d641da8669f0615050ea9e9865a497fe /bin/sh/parser.c | |
parent | 221fff643731890a2799e1730976fa57fbd0d9c4 (diff) | |
download | FreeBSD-src-0c39138a0b8e8641570b8e60e24b63c5226b67dd.zip FreeBSD-src-0c39138a0b8e8641570b8e60e24b63c5226b67dd.tar.gz |
BASESYNTAX, DQSYNTAX, SQSYNTAX and ARISYNTAX handles negative indexes.
Allow those to be used to properly quote characters in the shell
control character range.
Diffstat (limited to 'bin/sh/parser.c')
-rw-r--r-- | bin/sh/parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/bin/sh/parser.c b/bin/sh/parser.c index e1c0572..1dc5d4b 100644 --- a/bin/sh/parser.c +++ b/bin/sh/parser.c @@ -977,7 +977,7 @@ readtoken1(firstc, syntax, eofmark, striptabs) c != '`' && c != '$' && (c != '"' || eofmark != NULL)) USTPUTC('\\', out); - if (c >= 0 && SQSYNTAX[c] == CCTL) + if (SQSYNTAX[c] == CCTL) USTPUTC(CTLESC, out); else if (eofmark == NULL) USTPUTC(CTLQUOTEMARK, out); @@ -1496,7 +1496,7 @@ noexpand(text) continue; if (c == CTLESC) p++; - else if (c >= 0 && BASESYNTAX[(int)c] == CCTL) + else if (BASESYNTAX[(int)c] == CCTL) return 0; } return 1; |