more error checking during package write
authorroot <devnull@localhost>
Thu, 22 Feb 1996 15:34:27 +0000 (15:34 +0000)
committerroot <devnull@localhost>
Thu, 22 Feb 1996 15:34:27 +0000 (15:34 +0000)
CVS patchset: 394
CVS date: 1996/02/22 15:34:27

build/pack.c

index dfe5d76..1f3dcbb 100644 (file)
@@ -121,7 +121,14 @@ int generateRPM(char *name,       /* name-version-release         */
     writeHeader(fd, header);
     ifd = open(archiveTemp, O_RDONLY, 0644);
     while ((count = read(ifd, buffer, sizeof(buffer))) > 0) {
-       write(fd, buffer, count);
+        if (count == -1) {
+           perror("Couldn't read archiveTemp");
+           exit(1);
+        }
+        if (write(fd, buffer, count) < 0) {
+           perror("Couldn't write package to temp file");
+           exit(1);
+        }
     }
     close(ifd);
     close(fd);
@@ -149,7 +156,14 @@ int generateRPM(char *name,       /* name-version-release         */
     /* Append the header and archive */
     ifd = open(sigtarget, O_RDONLY);
     while ((count = read(ifd, buffer, sizeof(buffer))) > 0) {
-       write(fd, buffer, count);
+        if (count == -1) {
+           perror("Couldn't read sigtarget");
+           exit(1);
+        }
+        if (write(fd, buffer, count) < 0) {
+           perror("Couldn't write package");
+           exit(1);
+        }
     }
     close(ifd);
     close(fd);