Kevin Puetz : winegcc: Correctly pass the '-' file name (stdin) to the compiler.

Alexandre Julliard julliard at winehq.org
Tue Sep 24 16:04:45 CDT 2019


Module: wine
Branch: master
Commit: d5e175e32b64cd734c142cfc583f17bccb03ec5b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d5e175e32b64cd734c142cfc583f17bccb03ec5b

Author: Kevin Puetz <PuetzKevinA at JohnDeere.com>
Date:   Tue Sep 24 18:35:03 2019 +0200

winegcc: Correctly pass the '-' file name (stdin) to the compiler.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38300
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/winegcc/winegcc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index bdcbe45c4b..f1798a8978 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -795,7 +795,7 @@ no_compat_defines:
     /* last, but not least, the files */
     for ( j = 0; j < opts->files->size; j++ )
     {
-	if (opts->files->base[j][0] != '-')
+	if (opts->files->base[j][0] != '-' || !opts->files->base[j][1]) /* not an option or bare '-' (i.e. stdin) */
 	    strarray_add(comp_args, opts->files->base[j]);
     }
 
@@ -1472,7 +1472,7 @@ int main(int argc, char **argv)
     /* parse options */
     for ( i = 1 ; i < argc ; i++ ) 
     {
-        if (argv[i][0] == '-')  /* option */
+        if (argv[i][0] == '-' && argv[i][1])  /* option, except '-' alone is stdin, which is a file */
 	{
 	    /* determine if this switch is followed by a separate argument */
 	    next_is_arg = 0;




More information about the wine-cvs mailing list