vkd3d-compiler: Check whether the source format is binary when checking if the output is a tty, when preprocessing.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-11-30 11:16:45 -06:00 committed by Alexandre Julliard
parent b40b191498
commit 10ab0ff124

View File

@ -639,13 +639,22 @@ 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)))
{
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))
options.formatting |= VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR;