[PATCH vkd3d v2 2/3] vkd3d-compiler: Check whether the source format is binary when checking if the output is a tty, when preprocessing.

Zebediah Figura zfigura at codeweavers.com
Mon Nov 30 11:16:45 CST 2020


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 programs/vkd3d-compiler/main.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c
index b79396e9..91c8e04f 100644
--- a/programs/vkd3d-compiler/main.c
+++ b/programs/vkd3d-compiler/main.c
@@ -639,12 +639,21 @@ int main(int argc, char **argv)
     if (!(output = open_output(options.output_filename, &close_output)))
         goto done;
 
-    if (!options.output_filename && get_target_type_info(options.target_type)->is_binary
-            && isatty(fileno(output)))
+    if (!options.output_filename && isatty(fileno(output)))
     {
-        fprintf(stderr, "Output is a tty and output format is binary, exiting.\n"
-                "If this is really what you intended, specify the output explicitly.\n");
-        goto done;
+        bool is_binary;
+
+        if (options.preprocess_only)
+            is_binary = get_source_type_info(options.source_type)->is_binary;
+        else
+            is_binary = get_target_type_info(options.target_type)->is_binary;
+
+        if (is_binary)
+        {
+            fprintf(stderr, "Output is a tty and output format is binary, exiting.\n"
+                    "If this is really what you intended, specify the output explicitly.\n");
+            goto done;
+        }
     }
 
     if (!options.explicit_colour && has_colour(output))
-- 
2.29.2




More information about the wine-devel mailing list