]> git.sur5r.net Git - i3/i3/commitdiff
i3-dump-log/main.c: error handling for write(...)
authorSascha Kruse <knopwob@googlemail.com>
Mon, 10 Dec 2012 16:45:14 +0000 (17:45 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 24 Dec 2012 14:11:19 +0000 (15:11 +0100)
i3-dump-log/main.c

index 4a11d218298f7a2c0515f940b9586a55d3f0250c..852a5cf7b2fc944e50272fcd2c1a9b676c2070f6 100644 (file)
@@ -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;
     }