From: Sascha Kruse Date: Mon, 10 Dec 2012 16:45:14 +0000 (+0100) Subject: i3-dump-log/main.c: error handling for write(...) X-Git-Tag: 4.5~94 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=5a567057abbd9b6acb8c440f9d81120e8bd6e5c6;p=i3%2Fi3 i3-dump-log/main.c: error handling for write(...) --- diff --git a/i3-dump-log/main.c b/i3-dump-log/main.c index 4a11d218..852a5cf7 100644 --- a/i3-dump-log/main.c +++ b/i3-dump-log/main.c @@ -42,14 +42,19 @@ static int check_for_wrap(void) { /* The log wrapped. Print the remaining content and reset walk to the top * of the log. */ wrap_count = header->wrap_count; - write(STDOUT_FILENO, walk, ((logbuffer + header->offset_last_wrap) - walk)); + const int len = (logbuffer + header->offset_last_wrap) - walk; + if (write(STDOUT_FILENO, walk, len) != len) + err(EXIT_FAILURE, "write()"); walk = logbuffer + sizeof(i3_shmlog_header); return 1; } static void print_till_end(void) { check_for_wrap(); - int n = write(STDOUT_FILENO, walk, ((logbuffer + header->offset_next_write) - walk)); + const int len = (logbuffer + header->offset_next_write) - walk; + const int n = write(STDOUT_FILENO, walk, len); + if (len != n) + err(EXIT_FAILURE, "write()"); if (n > 0) { walk += n; }