This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: mysterious wordexp failure


On Fri, 2 Apr 1999, Zack Weinberg wrote:

> I've now tracked it to the behavior of the shell on my system.

With /bin/sh symlinked to /bin/ash, I can pass make check with this patch.

Tim.
*/

1999-04-12  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: In field-splitting test cases where
	subshells were involved, unset IFS first: some shells (ash) use
	IFS even when no expansion is performed.

--- libc/posix/wordexp-test.c.orig	Mon Apr 12 21:00:00 1999
+++ libc/posix/wordexp-test.c	Mon Apr 12 21:00:05 1999
@@ -56,19 +56,26 @@
      * but does NOT start a new field. */
     { 0, ":abc:", "$var", 0, 2, { "", "abc", }, ":" },
 
-    { 0, NULL, "$(echo :abc:)", 0, 2, { "", "abc", }, ":" },
-    { 0, NULL, "$(echo :abc:\\ )", 0, 2, { "", "abc", }, ": " },
-    { 0, NULL, "$(echo :abc\\ )", 0, 2, { "", "abc", }, ": " },
-    { 0, ":abc:", "$(echo $var)", 0, 2, { "", "abc", }, ":" },
+    { 0, NULL, "$(unset IFS;echo :abc:)", 0, 2, { "", "abc", }, ":" },
+    { 0, NULL, "$(unset IFS;echo :abc:\\ )", 0, 2, { "", "abc", }, ": " },
+    { 0, NULL, "$(unset IFS;echo :abc\\ )", 0, 2, { "", "abc", }, ": " },
+    { 0, ":abc:", "$(unset IFS;echo $var)", 0, 2, { "", "abc", }, ":" },
     { 0, NULL, ":abc:", 0, 1, { ":abc:", }, ":" },
-    { 0, NULL, "$(echo :abc:)def", 0, 3, { "", "abc", "def", }, ":" },
-    { 0, NULL, "$(echo abc:de)f", 0, 2, { "abc", "def", }, ":" },
-    { 0, NULL, "$(echo abc:de)f:ghi", 0, 2, { "abc", "def:ghi", }, ":" },
-    { 0, NULL, "abc:d$(echo ef:ghi)", 0, 2, { "abc:def", "ghi", }, ":" },
-    { 0, "abc:", "$var$(echo def:ghi)", 0, 3, { "abc", "def", "ghi", }, ":" },
-    { 0, "abc:d", "$var$(echo ef:ghi)", 0, 3, { "abc", "def", "ghi", }, ":" },
-    { 0, "def:ghi", "$(echo abc:)$var", 0, 3, { "abc", "def", "ghi", }, ":" },
-    { 0, "ef:ghi", "$(echo abc:d)$var", 0, 3, { "abc", "def", "ghi", }, ":" },
+    { 0, NULL, "$(unset IFS;echo :abc:)def", 0, 3, { "", "abc", "def", },
+      ":" },
+    { 0, NULL, "$(unset IFS;echo abc:de)f", 0, 2, { "abc", "def", }, ":" },
+    { 0, NULL, "$(unset IFS;echo abc:de)f:ghi", 0, 2, { "abc", "def:ghi", },
+      ":" },
+    { 0, NULL, "abc:d$(unset IFS;echo ef:ghi)", 0, 2, { "abc:def", "ghi", },
+      ":" },
+    { 0, "abc:", "$var$(unset IFS;echo def:ghi)", 0, 3, { "abc", "def",
+							  "ghi", }, ":" },
+    { 0, "abc:d", "$var$(unset IFS;echo ef:ghi)", 0, 3, { "abc", "def",
+							  "ghi", }, ":" },
+    { 0, "def:ghi", "$(unset IFS;echo abc:)$var", 0, 3, { "abc", "def",
+							  "ghi", }, ":" },
+    { 0, "ef:ghi", "$(unset IFS;echo abc:d)$var", 0, 3, { "abc", "def",
+							  "ghi", }, ":" },
 
     /* Simple parameter expansion */
     { 0, "foo", "${var}", 0, 1, { "foo", }, IFS },




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]