This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


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

Re: `find' command broken.


"$Bill Luebkert" <dbe@wgn.net> wrote:

>Fergus Henderson wrote:
>> 
>> The relevent source is winsup/dcrt0.cc,
>> which contains the startup code for cygwin.dll:
>> 
>>           /* Expand *.c, etc.  */
>>           if (! u->self->cygwin_parent_p)
>>             globify (&argc, &argv);
>> 
>> So, the problem with `zsh' commands being doubly-globbed could
>> presumably be fixed by recompiling zsh with gnu-win32.
>
>And I suppose command.com etc. all need to be re-compiled 
>against gnuwin32?

Well, command.com doesn't do any globbing, so there's no problem
with double-globbing: things get globbed only once, by cygwin.dll.

There may be some problem with escaping or quoting, though.
Does command.com do anything special with quotes?

>Another possibility would be to look at the code in globify:
...
>This code doen't check for any escapes.  It just checks for 
>globbing characters.  Couldn't this be made to ignore args 
>with ' or " as the first char, by inserting this code.
>
>    if (av[i][0] == '\'' || av[i][0] == '"')
>      {
>        /* strip quotes off arg here (front and back) and adjust arg ptr */
>      }

Yep, that would be a good idea.

But if zsh was not compiled with cygwin, then you would still need
to do some gnarly quoting to get it right, e.g.

	find . -name '"*.c"' -print
or
	find . -name "'*.c'" -print

You would need two levels of quotes, because one would get stripped
away by zsh, and one by cygwin.dll.

--
Fergus Henderson <fjh@cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3         |     -- the last words of T. S. Garp.
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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