Eric Blake <[email protected]> writes: > On 08/25/2011 01:58 PM, Claudio Bley wrote: >> Hi. >> >> I compiled diffutils for MinGW. >> >> diff3.exe does not work with special characters in path names (like >> spaces et cetera) because it does not quote special characters >> correctly for the cmd shell when invoking diff.exe. > > Gross.
I know. But it works, and that's the most important thing when you have work to do (other than trying to use a broken tool)... > It would be better to get the mingw environment to use sh > instead of cmd You only need MinGW to compile the programs, basically these are "native" Windows console applications without a MinGW environment. > or to at least fix system() or popen() to properly > munge command lines that assumed sh quoting How do you decide if a program expects sh quoting or not? I don't think that would work in the general case. If you're compiling programs on Win32 (think MinGW, not Cygwin) you would have to expect cmd quoting rules, no? > Or, instead of using popen, maybe we could use gnulib's pipe-filter-gi > module, which allows us to pass the filename as a distinct argv > argument without the need for any extra quoting to be undone by an > intermediate shell. Thanks for the pointer, I'll investigate that further when I have the time. Don't hold your breath, though. > All in all, while I appreciate your attempt to make this more robust > on mingw, I think this patch is going about a solution in the wrong > way. No problem. Actually, I originally tried to fit that into gnulib's quoting mechanism, but it didn't fit in there (easily) and I gave up, frustrated. I just had forgotten about that try, only had this diff lying around here... Cheers, Claudio
