summaryrefslogtreecommitdiffstats
path: root/tools/regression
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2010-09-08 20:35:43 +0000
committerjilles <jilles@FreeBSD.org>2010-09-08 20:35:43 +0000
commit73c5bdeaeb5ee8aa6b736b4af87b87cd8c07c7ba (patch)
tree87b086c805f45d251c83023ef1956501e5136970 /tools/regression
parent80b81c30a17cad45014984e9c719c3070ffd81fd (diff)
downloadFreeBSD-src-73c5bdeaeb5ee8aa6b736b4af87b87cd8c07c7ba.zip
FreeBSD-src-73c5bdeaeb5ee8aa6b736b4af87b87cd8c07c7ba.tar.gz
sh: Fix 'read' if all chars before the first IFS char are backslash-escaped.
Backslash-escaped characters did not set the flag for a non-IFS character. MFC after: 2 weeks
Diffstat (limited to 'tools/regression')
-rw-r--r--tools/regression/bin/sh/builtins/read4.010
-rw-r--r--tools/regression/bin/sh/builtins/read4.0.stdout8
2 files changed, 18 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/builtins/read4.0 b/tools/regression/bin/sh/builtins/read4.0
new file mode 100644
index 0000000..7204a35
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/read4.0
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+printf '%s\n' '\a\ b c' | { read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\a b\ c' | { read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\a\:b:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\a:b\:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\\:a' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\\\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; }
+printf '%s\n' '\\\:a' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; }
diff --git a/tools/regression/bin/sh/builtins/read4.0.stdout b/tools/regression/bin/sh/builtins/read4.0.stdout
new file mode 100644
index 0000000..a8747a4
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/read4.0.stdout
@@ -0,0 +1,8 @@
+xa bxcx
+xaxb cx
+xa:bxcx
+xaxb:cx
+x\xax
+x\xax
+x\ axx
+x\:axx
OpenPOWER on IntegriCloud