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]

Bug in GUI App WinMain Arguements


I'm having a problem running a windows gui app with arguments from a mounted
directory if the Win32Path mounted to contains blanks. (i.e. mount -s -b
"C:/foo bar" "/foobar"). It's not a mount specific problem because it also
occurs if the directory has a space in it.  Since mkpasswd defaulted my home
directory to "/cygdrive/c/Documents and Settings/cygusr", I am assuming
Cygwin supports directories with spaces in them.  I have included a small
program that illustrates the bug.

By the way, I'm running on XP with the latest version of Cygwin newly
installed.

Also, according to the "Cygwin Users Guide", I have included the following
line in the code.
WinMainCRTStartup() { mainCRTStartup(); }
It doesnt seem to be called.  Is the User Guide correct? The same problem
occurs if I omit the line and use the "-e _mainCRTStartup" as suggested in
the User Guide.

Any suggestions?
BB.

Assuming the program listed below (prtcmdline.exe) is in
"/cygdrive/c/Documents and Settings/cygusr"...

$ cd ~
$ pwd
/cygdrive/c/Documents and Settings/cygusr
$ ./prtcmdline arg1 arg2 | tail -
default
and Settings\cygusr\prtcmdline.exe" arg1 arg2      << wrong
$ cp prtcmdline.exe /home/cygusr
$ /home/cygusr/prtcmdline arg1 arg2 | tail -
default
arg1 arg2                       <<right
$

/****************************************************/
/* prtcmdline.c                                     */
/* gcc -mwindows prtcmdline.c -o prtcmdline.exe     */
/****************************************************/
#include <windows.h>
#include <stdio.h>

char *gstr = "default\r";

WinMainCRTStartup()
{
 gstr = "WinMainCRTStartup() called\r";
 mainCRTStartup();
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 puts(gstr);
 puts(lpCmdLine);
 return 0;
}
/****************************************************/







--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.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]