On Mon, 5 Aug 2013, Diogo Franco (Kovensky) wrote:
On 8/4/2013 2:23 PM, Martin Storsjö wrote:
Diogo, does this part actually fix an issue itself, or is it just to avoid
needless workarounds? Does it harm anything if this is kept as is, to
simplify the conditions? (That is, since cygwin does support the win32 api,
the function is available and we'd hope that using it should work as
intended on cygwin as well.)
Command line argument parsing is broken at least on cygwin64 without the
patch. I'm not sure *why* it happens though; I thought it'd be a winapi
misuse (e.g. using C types instead of winapi defines; win64 has 32bit long
but cygwin64 has 64bit long) but it didn't seem to be the case (no gcc
warnings at least), however simply commenting out the call to
prepare_app_arguments in cmdutils.c magically made it work, so the cause must
be the windows-specific command line argument parsing.
I had a closer look, and it seems that GetCommandLineW() only gives the
exe name but none of the parameters. And this only happens on cygwin64, on
cygwin32 it seems to work just fine.
While we could work around it, the question is whether this is an
intentional decision from cygwin's side to break this function or if it's
a bug they might be able to fix?
// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel