[FFmpeg-cvslog] cmdutils: Only do the windows-specific commandline parsing on _WIN32

Diogo Franco git at videolan.org
Thu Aug 8 12:02:52 CEST 2013


ffmpeg | branch: master | Diogo Franco <diogomfranco at gmail.com> | Wed Aug  7 08:25:51 2013 -0300| [e8edf4e1cf6051802ad717dcf8a454d4661929af] | committer: Martin Storsjö

cmdutils: Only do the windows-specific commandline parsing on _WIN32

Fixes commandline parsing on Cygwin (on 64 bit, and on very recent
32 bit), where the configure check does find the CommandLineToArgvW
function (since it exists in the link libraries and in the headers),
but whose GetCommandLineW() only returns the application's path.
(This is due to a cygwin internal optimization, see
http://cygwin.com/ml/cygwin/2013-07/msg00538.html for details.)
Arguments are only given through main's argc/argv, and they're already
UTF-8.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e8edf4e1cf6051802ad717dcf8a454d4661929af
---

 cmdutils.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cmdutils.c b/cmdutils.c
index 8e43795..062d7ec 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -182,7 +182,10 @@ static const OptionDef *find_option(const OptionDef *po, const char *name)
     return po;
 }
 
-#if HAVE_COMMANDLINETOARGVW
+/* _WIN32 means using the windows libc - cygwin doesn't define that
+ * by default. HAVE_COMMANDLINETOARGVW is true on cygwin, while
+ * it doesn't provide the actual command line via GetCommandLineW(). */
+#if HAVE_COMMANDLINETOARGVW && defined(_WIN32)
 #include <windows.h>
 #include <shellapi.h>
 /* Will be leaked on exit */



More information about the ffmpeg-cvslog mailing list