From: espie Date: Mon, 13 Jan 2014 09:41:16 +0000 (+0000) Subject: duh, -n does not take args X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=86561b2c30da62d0cff5e4d8a3c3565f94e33cf4;p=openbsd duh, -n does not take args --- diff --git a/usr.bin/signify/signify.c b/usr.bin/signify/signify.c index f018921edec..c39c665f2dc 100644 --- a/usr.bin/signify/signify.c +++ b/usr.bin/signify/signify.c @@ -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 * @@ -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':