duh, -n does not take args
authorespie <espie@openbsd.org>
Mon, 13 Jan 2014 09:41:16 +0000 (09:41 +0000)
committerespie <espie@openbsd.org>
Mon, 13 Jan 2014 09:41:16 +0000 (09:41 +0000)
usr.bin/signify/signify.c

index f018921..c39c665 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: signify.c,v 1.31 2014/01/13 01:40:43 tedu Exp $ */
+/* $OpenBSD: signify.c,v 1.32 2014/01/13 09:41:16 espie Exp $ */
 /*
  * Copyright (c) 2013 Ted Unangst <tedu@openbsd.org>
  *
@@ -119,12 +119,15 @@ static void
 readall(int fd, void *buf, size_t len, const char *filename)
 {
        ssize_t x;
-       
-       x = read(fd, buf, len);
-       if (x == -1) {
-               err(1, "read from %s", filename);
-       } else if (x != len) {
-               errx(1, "short read from %s", filename);
+
+       while (len != 0) {
+               x = read(fd, buf, len);
+               if (x == -1)
+                       err(1, "read from %s", filename);
+               else {
+                       len -= x;
+                       buf += x;
+               }
        }
 }
 
@@ -199,12 +202,15 @@ static void
 writeall(int fd, const void *buf, size_t len, const char *filename)
 {
        ssize_t x;
-       
-       x = write(fd, buf, len);
-       if (x == -1) {
-               err(1, "write to %s", filename);
-       } else if (x != len) {
-               errx(1, "short write to %s", filename);
+
+       while (len != 0) {
+               x = write(fd, buf, len);
+               if (x == -1)
+                       err(1, "write to %s", filename);
+               else {
+                       len -= x;
+                       buf += x;
+               }
        }
 }
 
@@ -462,7 +468,7 @@ main(int argc, char **argv)
 
        rounds = 42;
 
-       while ((ch = getopt(argc, argv, "GISVc:em:n:p:s:x:")) != -1) {
+       while ((ch = getopt(argc, argv, "GISVc:em:np:s:x:")) != -1) {
                switch (ch) {
 #ifndef VERIFYONLY
                case 'G':