This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Issue with run.exe and PWD with spaces since last update (Cygwin 1.7.21)
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 17 Jul 2013 16:33:40 +0200
- Subject: Re: Issue with run.exe and PWD with spaces since last update (Cygwin 1.7.21)
- References: <295777180 dot 20130716202913 at mtu-net dot ru> <20130717125916 dot GB21347 at calimero dot vinschen dot de> <51E69DE2 dot 10008 at cwilson dot fastmail dot fm> <20130717134532 dot GC32258 at calimero dot vinschen dot de> <51E6A3DB dot 7050605 at cwilson dot fastmail dot fm> <20130717141042 dot GE32258 at calimero dot vinschen dot de> <51E6A836 dot 80800 at cwilson dot fastmail dot fm>
- Reply-to: cygwin at cygwin dot com
On Jul 17 10:20, Charles Wilson wrote:
> On 7/17/2013 10:10 AM, Corinna Vinschen wrote:
> >Uhm. In that case, if ew *really* think your tools are the only
> >affected ones, Why do we bother to fix libcmain.c? Can't you then
> >simply provide your own main() in case of building for Cygwin?
>
> Perhaps, but I'm not sure of the ramifications. I think if you have
> a main() then you're going to get STD_HANDLES. Plus there's the
> whole concern about launching run[2].exe itself without a cmdbox,
> when it is used as a shortcut target.
In that case, the application gets the command line via GetCommandLine,
which in turn is converted to argc,argv by the Cygwin DLL ebfore calling
main.
> This whole entrypoint thing is tied up in that, or at least it used
> to be. Now, that may ONLY apply to the mingw[64]-compiled version,
> in which case I could do a
>
> #ifdef __CYGWIN__
> int main (int argc, char** argv)
> {
> return realmain(argc, argv);
> }
> #endif
Or
#ifdef __CYGWIN__
int main (int argc, char** argv)
#else
int realmain (int argc, char** argv)
#endif
> and avoid the -e WinMain@16 link argument. (Except I think I arrange
> to only do -e WinMain@16 on mingw...hmm...)
Can you quickly check if that works? If so, we have a bit less pressure
to fix libcmain.
> If you look closely at WinMain, it basically parses the result from
> GetCommandLine() into argc,argv, and then delegates.
Yes, I saw that while debugging.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple