From: Alessandro V. <ve...@ta...> - 2005-02-26 12:05:17
|
"J. Grant" wrote: > Ok, attached is the uncompressed 31,174 bytes file, with md5sum: > 8d7bf7d043711b4e16e7947c748b65d1 make-3.81beta2.MinGW.support.patch > [...] > + # do not change the make_path on W32 (MinGW/MSYS), because the following shell code does not > work > + if ($port_type =~ !/W32/) > + { > + $make_path = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`; It worked for me (win98 + MinGW/MSYS) after adding a test for ferror(stdin). That doesn't really fix the bug, however it doesn't worsen make's code either, and is enough for running that shell snippet. --- main.original.c Wed Feb 16 06:03:42 2005 +++ main.c Mon Feb 21 16:38:28 2005 @@ -1438,7 +1438,7 @@ outfile = open_tmpfile (&stdin_nm, template); if (outfile == 0) pfatal_with_name (_("fopen (temporary file)")); - while (!feof (stdin)) + while (!feof (stdin) && !ferror(stdin)) { char buf[2048]; unsigned int n = fread (buf, 1, sizeof (buf), stdin); If I additionally change test_driver so as be forgiving when differences only consist slashes (coding something like $slurp =~ s/\\/\//gm;) I get a total of 24 Tests in 15 Categories Failed. Some of those failures still depend on setup issues and shouldn't be considered errors. E.g. consider features/escape that uses a lowercase `path' as a variable name... |