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

Re: Strange Cygwin issue


Dylan,

If you followed that thread to the end, it was suggested that the program
itself was buggy and treated the "-" as a parameter separator, IIRC.

As for your case, that's the expected behavior.  Windows programs get the
quotes surrounding quoted arguments -- try it from cmd.exe with this
simple program:

#include <stdio.h>

#ifdef WIN
#include <windows.h>
int APIENTRY WinMain(HINSTANCE inst, HINSTANCE pinst, LPSTR cmdline, int show) {
  printf ("%s\n", cmdline);
}
#else
int main(int ac, char *av[]) {
  int i;
  for (i = 0; i < ac; i++)
    printf ("%s|", av[i]);
  printf ("\n");
  return 0;
}
#endif

At a guess, the only way you can get around it is by writing your own
command line parsing routines...  Sorry.
	Igor

On Fri, 24 Oct 2003, Dylan Cuthbert wrote:

> Did you sort this problem out eventually?  We're having the same problem.
>
> We pass a DOS command that we've compiled in Vis.C a parameter from within a
> bash shell and all our quotes are "played" with.
>
> ie.   #> ourcommand   'my oh my "this is a string" that is played with'
>
> and we get    "my oh my \"this is a string\" that is played with"
> (including the surrounding double quotes) in our DOS program.
>
> Not what we want really.
>
> ---------------------------------
> Q-Games, Dylan Cuthbert.
> http://www.q-games.com
>
>
> "David Abrahams" <dave at boost-consulting dot com> wrote in message
> news:ud6ieh7j2.fsf@boost-consulting.com...
> > Igor Pechtchanski <pechtcha at cs dot nyu dot edu> writes:
> >
> > > Dave,
> > >
> > > Actually, upon re-reading the above, it looks like it's a bash quoting
> > > issue.  You might try the fix that worked for "cygstart": single quote the
> > > double quotes, e.g.
> > >
> > > tlib '"c:\foo-bar\baz"'
> >
> > I exhausted all obvious possibilites, including that one, before
> > posting here.
> >
> > > or, if you want to be more generic,
> > >
> > > FILENAME=/cygdrive/c/foo-bar/baz
> > > tlib '"'"`cygpath -w "$FILENAME"`"'"'
> > >
> > > Make sure you copy the above *exactly* (better yet, cut/paste).
> > > Hope this helps,
> >
> > No dice:
> >
> >     dave@penguin /cygdrive/c/boost/tools/build/test
> >     $ foo=/cygdrive/c/foo-bar/baz
> >
> >     dave@penguin /cygdrive/c/boost/tools/build/test
> >     $ /cygdrive/c/tools/Borland/BCC55/Bin/tlib.exe  '"'"`cygpath -w "$foo"`"'"'
> >     TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
> >
> >     Error: opening '\c:\foo.LIB'
> >
> > The response should look like:
> >
> >     C:\boost\tools\build\jam_src>c:\tools\Borland\BCC55\Bin\tlib.exe "c:\foo-bar\baz"
> >     TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
> >
> >     Error: opening 'c:\foo-bar\baz.LIB'
> >
> > --
> > Dave Abrahams
> > Boost Consulting
> > www.boost-consulting.com

-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

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