Adam Fedor <[EMAIL PROTECTED]> writes: > Tom Koelman wrote: >> Hi, >> Under MiNGQ _gnu_process_args crashes when argv is 0. This patch >> fixes >> this and sets the executable to the empty string when this happens. >> > > Wow. How often does this happen? It seems pretty strange to me.
It happens under MinGW. When I create a dll that uses GNUstep, and this dll in turn is called by a program that is not compiled by gcc this is the case. It is reproducable as follows: untar this somewhere:
arg0repro.tar.bz2
Description: Binary data
cd to arg0repro and "make" In arg0repro/shared_obj/ix86/mingw32/gnu-gnu-gnu there now is Test.dll, calltest.exe and calltest_msvc.exe. calltest.exe works okay and prints "42", which it gets from the GNUstep using Test.dll. calltest_msvc.exe is the same source, but compiled with Microsoft's compiler, this one crashes in Foundation in _gnu_process_args, because argv == 0. > The documentation for the -arguments method is a little ambiguous. Is > it supposed to include arg 0 or not? I don't know. At several points in the Foundation code it is assumed it exists though. I unforunately do not know of a way to reliably get the arguments under MinGW. GetCommandLine[1] followed by CommandLineToArgvW[2] seemed to be a nice call, but some testing revealed that it returns the complete command line as one string, despite the documentation claiming something different. Tom [1] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getcommandline.asp?frame=true&hidetoc=true [2] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/commandlinetoargvw.asp?frame=true&hidetoc=true
_______________________________________________ Bug-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gnustep
