Mercurial > sdl-ios-xcode
view Xcode-iPhoneOS/Test/README @ 4511:ae7799d16c87
Daniel Wyatt 2010-03-26 14:52:53 PDT
If a non-console Windows SDL program has a non-quoted 0th argument followed
optionally by more non-quoted arguments and then by an empty quoted argument,
it will crash (attempts to dereference a NULL pointer).
In other words, something like this:
test.exe [non-quoted args] "" [...]
The fix is a one-liner in ParseCommandLine() of
src/main/win32/SDL_win32_main.c.
You can test this with any non-console SDL program on windows like this:
1) Open a console (cmd.exe)
2) Launch the program in one of the following ways:
program ""
program arg1 ""
program arg1 "" arg3
These will not cause a crash:
"program" [...]
program "arg1" ""
When a Windows program is launched from Explorer, its 0th argument seems to
always be quoted, so it won't be a problem in that case.
I've tested this on Windows XP SP3 and Windows 7.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 12 Jul 2010 22:08:50 -0700 |
parents | 20326ba2bda2 |
children |
line wrap: on
line source
TestiPhoneOS.xcodeproj contains targets to compile many of the SDL test programs for iPhone OS. Most of these test programs work fine, with the following exceptions: testalpha: Program crashes. Problem appears to effect Mac OS X as well. testhread: SIGTERM kills the process immediately without executing the 'kill' function. The posix standard says this shouldn't happen. Apple seems intent on having iPhone apps exit promptly when the user requests it, so maybe that's why(?) testlock: Locks appear to work, but there doesn't appear to be a simple way to send the process SIGINT. testpalette: "SDL error: blitting boat: Blit combination not supported." Happens on Mac OS X as well. testsprite2: SDL_CreateTextureFromSurface requests an ARGB pixel format, but iPhone's SDL video driver only supports ABGR. testwin: Behaves as it does under Mac OS X ... not sure if that is correctly or not. threadwin: Works if -threaded is not on. Otherwise it doesn't work, but this is true under Mac OS X as well.