From: Petr Uzel Date: Thu, 3 Feb 2011 14:04:55 +0000 (+0100) Subject: uuidd: use write_all from include/writeall.h X-Git-Tag: v2.19~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=386749317e7f3c699c985949023ac6141e334236;p=thirdparty%2Futil-linux.git uuidd: use write_all from include/writeall.h Signed-off-by: Petr Uzel --- diff --git a/misc-utils/uuidd.c b/misc-utils/uuidd.c index 79c52b19fa..825a38ad87 100644 --- a/misc-utils/uuidd.c +++ b/misc-utils/uuidd.c @@ -32,6 +32,7 @@ extern int optind; #include "uuid.h" #include "uuidd.h" +#include "writeall.h" #include "nls.h" @@ -99,25 +100,6 @@ static ssize_t read_all(int fd, char *buf, size_t count) return c; } -static int write_all(int fd, char *buf, size_t count) -{ - ssize_t ret; - int c = 0; - - while (count > 0) { - ret = write(fd, buf, count); - if (ret < 0) { - if ((errno == EAGAIN) || (errno == EINTR)) - continue; - return -1; - } - count -= ret; - buf += ret; - c += ret; - } - return c; -} - static const char *cleanup_pidfile, *cleanup_socket; static void terminate_intr(int signo CODE_ATTR((unused))) @@ -177,7 +159,7 @@ static int call_daemon(const char *socket_path, int op, char *buf, } ret = write_all(s, op_buf, op_len); - if (ret < op_len) { + if (ret < 0) { if (err_context) *err_context = _("write"); close(s);