This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: command line arg expansion


<http://cygwin.com/acronyms/#TOFU>. Reformatted.

jim wrote:
-----Original Message-----
From: Larry Hall (Cygwin) [mailto:reply-to-list-only-lh <AT> cygwin <DOT> com] Sent: Thursday, January 11, 2007 12:37 PM
To: cygwin <AT> cygwin <DOT> com
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<http://cygwin.com/acronyms/#PCYMTNQREAIYR>.  No one wants the spam.  Thanks.

Subject: Re: command line arg expansion

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?
See <http://cygwin.com/cygwin-ug-net/using-cygwinenv.html>. Look for the "(no)glob" explanation.
Thanks Larry.   I had seen that option, but nothing to indicate that it had
changed between 1.5.12 and 1.5.23.     Can anyone account for the difference
between these two versions?    What I'm actually seeing is a behavior change
in a perl script that does something like:

open(LS, "ls -dF1 /c* | grep '/.*/' |");

One way to fix this is wrap it with bash, but I'd like to understand exactly
what changed.    Replacing grep with the program below showed me a
difference in the wild card expansion and that lead to the assumption that
wild cards are expanded differently - maybe it's something else?

You may want to look at Perl too. Obviously, there's a difference between the command line and the operations in Perl but you may not be chasing the same problem by looking at the command line issue.

Off-hand, I don't recall a conscious change here.  The glob option has been
there "forever" so if you see a difference in 1.5.12 vs now, I'd say it's
fair to assume that the 1.5.12 behavior indicates a bug that has since been
fixed.

--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

--
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/


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