diff options
| author | Jilles Tjoelker <jilles@FreeBSD.org> | 2010-09-29 22:24:18 +0000 |
|---|---|---|
| committer | Jilles Tjoelker <jilles@FreeBSD.org> | 2010-09-29 22:24:18 +0000 |
| commit | 88deede54afbf6c6784d34c8c540fc53ec9afa8f (patch) | |
| tree | 1de27a5730d8afc2b3b9fe46d97090b19fd7c0e8 | |
| parent | 2280c16b569575a456b3e3470b8fec82739417d3 (diff) | |
Notes
| -rw-r--r-- | tools/regression/usr.bin/tr/regress.0c.out | 1 | ||||
| -rw-r--r-- | tools/regression/usr.bin/tr/regress.0d.out | 1 | ||||
| -rw-r--r-- | tools/regression/usr.bin/tr/regress.sh | 4 | ||||
| -rw-r--r-- | usr.bin/tr/str.c | 2 |
4 files changed, 6 insertions, 2 deletions
diff --git a/tools/regression/usr.bin/tr/regress.0c.out b/tools/regression/usr.bin/tr/regress.0c.out new file mode 100644 index 0000000000000..4e125eaadb4fe --- /dev/null +++ b/tools/regression/usr.bin/tr/regress.0c.out @@ -0,0 +1 @@ +[[[[ diff --git a/tools/regression/usr.bin/tr/regress.0d.out b/tools/regression/usr.bin/tr/regress.0d.out new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/tools/regression/usr.bin/tr/regress.0d.out @@ -0,0 +1 @@ + diff --git a/tools/regression/usr.bin/tr/regress.sh b/tools/regression/usr.bin/tr/regress.sh index c448b6d8d06c5..badef15d2b86e 100644 --- a/tools/regression/usr.bin/tr/regress.sh +++ b/tools/regression/usr.bin/tr/regress.sh @@ -1,6 +1,6 @@ # $FreeBSD$ -echo 1..12 +echo 1..14 REGRESSION_START($1) @@ -16,5 +16,7 @@ REGRESSION_TEST(`08', `tr "[[:upper:]]" "[[:lower:]]" < regress2.in | tr -d "[^[ REGRESSION_TEST(`09', `printf "\\f\\r\\n" | tr "\\014\\r" "?#"') REGRESSION_TEST(`0a', `printf "0xdeadbeef\\n" | tr "x[[:xdigit:]]" "?\$"') REGRESSION_TEST(`0b', `(tr -cd "[[:xdigit:]]" < regress2.in ; echo)') +REGRESSION_TEST(`0c', `echo "[[[[]]]]" | tr -d "[=]=]"') +REGRESSION_TEST(`0d', `echo "]=[" | tr -d "[=]"') REGRESSION_END() diff --git a/usr.bin/tr/str.c b/usr.bin/tr/str.c index 86ae1731ac42f..06a907bb7daa5 100644 --- a/usr.bin/tr/str.c +++ b/usr.bin/tr/str.c @@ -156,7 +156,7 @@ bracket(s) s->str = p + 1; return (1); case '=': /* "[=equiv=]" */ - if ((p = strchr(s->str + 2, ']')) == NULL) + if (s->str[2] == '\0' || (p = strchr(s->str + 3, ']')) == NULL) return (0); if (*(p - 1) != '=' || p - s->str < 4) goto repeat; |
