Subject: Re: `find' command broken.
From: [email-masked] (Fergus Henderson)

13 Jul 1997 01:35:36 -0700
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
References: <19970711092719531.AAA303@TENDLE> 				<[email-masked]> <19970711133409718.AAA335@TENDLE> <[email-masked]> <[email-masked]> <[email-masked]> <[email-masked]> <[email-masked]>
Original-To: [email-masked]
Original-Sender: [email-masked]

"$Bill Luebkert" <[email-masked]> 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 <[email-masked]>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger [email-masked]         |     -- the last words of T. S. Garp.
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".