tools: Check the return value of write().
authorDiego Biurrun <diego@biurrun.de>
Sun, 15 May 2011 16:34:11 +0000 (18:34 +0200)
committerDiego Biurrun <diego@biurrun.de>
Mon, 16 May 2011 18:56:56 +0000 (20:56 +0200)
This fixes several warnings of the type:
warning: ignoring return value of ‘write’, declared with attribute warn_unused_result

tools/cws2fws.c
tools/pktdumper.c

index aa7d690..5fa5147 100644 (file)
@@ -69,7 +69,10 @@ int main(int argc, char *argv[])
 
     // write out modified header
     buf_in[0] = 'F';
-    write(fd_out, &buf_in, 8);
+    if (write(fd_out, &buf_in, 8) < 8) {
+        perror("Error writing output file");
+        exit(1);
+    }
 
     zstream.zalloc = NULL;
     zstream.zfree = NULL;
@@ -101,7 +104,10 @@ int main(int argc, char *argv[])
             zstream.avail_in, zstream.total_in, zstream.avail_out, zstream.total_out,
             zstream.total_out-last_out);
 
-        write(fd_out, &buf_out, zstream.total_out-last_out);
+        if (write(fd_out, &buf_out, zstream.total_out - last_out) < zstream.total_out - last_out) {
+            perror("Error writing output file");
+            exit(1);
+        }
 
         i += len;
 
@@ -120,7 +126,10 @@ int main(int argc, char *argv[])
         buf_in[3] = ((zstream.total_out+8) >> 24) & 0xff;
 
         lseek(fd_out, 4, SEEK_SET);
-        write(fd_out, &buf_in, 4);
+        if (write(fd_out, &buf_in, 4) < 4) {
+            perror("Error writing output file");
+            exit(1);
+        }
     }
 
     inflateEnd(&zstream);
index 3ab39ee..80816d2 100644 (file)
@@ -104,7 +104,11 @@ int main(int argc, char **argv)
         //printf("open(\"%s\")\n", pktfilename);
         if (!nowrite) {
             fd = open(pktfilename, O_WRONLY|O_CREAT, 0644);
-            write(fd, pkt.data, pkt.size);
+            err = write(fd, pkt.data, pkt.size);
+            if (err < 0) {
+                fprintf(stderr, "write: error %d\n", err);
+                return 1;
+            }
             close(fd);
         }
         av_free_packet(&pkt);