On Thu, Jan 11, 2007 at 11:38:18AM -0800, jim wrote: >I have recently upgraded from 1.5.12 to 1.5.23 and noticed something that >has me wondering. I compiled this on 1.5.23 and have run it under cmd.exe >on on 1.5.12 and 1.5.23: > >#include <stdio.h> > >int main(int argc, char *argv[]) >{ > int i, c; > > for (i = 0; i < argc; i++) > printf("arg[%d]: '%s'\n", i, argv[i]); >} > >On 1.5.12: >C:\>e '/.*/' >arg[0]: 'e' >arg[1]: '/.*/' > >On 1.5.23: >C:\>e '/.*/' >arg[0]: 'e' >arg[1]: '/../' >arg[2]: '/./' >arg[3]: '/.other/' > >It appears that the runtime initialization on 1.5.23 is doing command line >expansion - is this correct? If so, is this change documented somewhere so >I get the full explanation? > >thanks for any insight,
This problem was introduced when we upgraded to a newer version of glob(). We're using a fairly recent version of this routine from FreeBSD bug, AFAICT, it has a bug which disallows quoting characters. I've checked in a very simple fix for this and am generating a new snapshot. Thanks for the test case. You actually can see the failing behavior by running cygwin's echo from a windows command line. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/