From 4c22bda09b4110ed7c2342fbe769d978cd5951ba Mon Sep 17 00:00:00 2001 From: Assaf Gordon Date: Fri, 6 Mar 2015 13:54:53 -0500 Subject: [PATCH] detect and report output writing errors Detect output errors when the program exits. Currently: $ echo '{}' | jq . > /dev/full && echo ok ok with the patch: $ echo '{}' | jq . > /dev/full && echo ok Error: writing output failed: No space left on device also apply to hardware/network/other I/O errors. Signed-off-by: Nicolas Williams --- main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.c b/main.c index b76b0724..a79825fb 100644 --- a/main.c +++ b/main.c @@ -477,6 +477,11 @@ int main(int argc, char* argv[]) { if (jq_util_input_open_errors(input_state) != 0) ret = 2; + if (fclose(stdout)!=0) { + fprintf(stderr,"Error: writing output failed: %s\n", strerror(errno)); + ret = 2; + } + if (ret != 0) goto out;