From 82d56022309ad6bddb191d51b219f19604a96171 Mon Sep 17 00:00:00 2001 From: itchyny Date: Wed, 28 Jun 2023 17:54:40 +0900 Subject: [PATCH] Fix "writing output failed" error of non ASCII output on Windows (#2633) --- src/main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index 1cc6542558..9b63dca81f 100644 --- a/src/main.c +++ b/src/main.c @@ -183,7 +183,8 @@ static int process(jq_state *jq, jv value, int flags, int dumpopts) { if (options & ASCII_OUTPUT) { jv_dumpf(jv_copy(result), stdout, JV_PRINT_ASCII); } else { - fwrite(jv_string_value(result), 1, jv_string_length_bytes(jv_copy(result)), stdout); + priv_fwrite(jv_string_value(result), jv_string_length_bytes(jv_copy(result)), + stdout, dumpopts & JV_PRINT_ISATTY); } ret = JQ_OK; jv_free(result); @@ -217,8 +218,8 @@ static int process(jq_state *jq, jv value, int flags, int dumpopts) { jv error_message = jq_get_error_message(jq); if (jv_get_kind(error_message) == JV_KIND_STRING) { // No prefix should be added to the output of `halt_error`. - fwrite(jv_string_value(error_message), 1, - jv_string_length_bytes(jv_copy(error_message)), stderr); + priv_fwrite(jv_string_value(error_message), jv_string_length_bytes(jv_copy(error_message)), + stderr, dumpopts & JV_PRINT_ISATTY); } else if (jv_get_kind(error_message) == JV_KIND_NULL) { // Halt with no output } else if (jv_is_valid(error_message)) {