This is the mail archive of the
libc-hacker@cygnus.com
mailing list for the glibc project.
Re: mysterious wordexp failure
- To: Ulrich Drepper <drepper@cygnus.com>
- Subject: Re: mysterious wordexp failure
- From: Tim Waugh <tim@cyberelk.demon.co.uk>
- Date: Mon, 12 Apr 1999 23:15:15 +0100 (GMT)
- cc: Zack Weinberg <zack@rabi.columbia.edu>, libc-hacker@cygnus.com
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 },