]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libuuid: move read_all to include/all-io.h
authorPetr Uzel <petr.uzel@suse.cz>
Tue, 15 May 2012 08:49:02 +0000 (10:49 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 15 May 2012 09:32:36 +0000 (11:32 +0200)
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
include/all-io.h
libuuid/src/gen_uuid.c
misc-utils/uuidd.c

index 4d1ae1e5328626eb3cf2ace7506bdef00206db53..b79d702bd5460fe0e978e88e62f9c7973f5f2368 100644 (file)
@@ -44,4 +44,29 @@ static inline int fwrite_all(const void *ptr, size_t size,
        return 0;
 }
 
+static inline ssize_t read_all(int fd, char *buf, size_t count)
+{
+       ssize_t ret;
+       ssize_t c = 0;
+       int tries = 0;
+
+       memset(buf, 0, count);
+       while (count > 0) {
+               ret = read(fd, buf, count);
+               if (ret <= 0) {
+                       if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
+                           (tries++ < 5))
+                               continue;
+                       return c ? c : -1;
+               }
+               if (ret > 0)
+                       tries = 0;
+               count -= ret;
+               buf += ret;
+               c += ret;
+       }
+       return c;
+}
+
+
 #endif /* UTIL_LINUX_ALL_IO_H */
index 93d292a22d36f784d42471816e6cb2cf87e99f2b..9d5575b85ccd46896e5b9f5d777c07c93316dff9 100644 (file)
@@ -87,6 +87,7 @@
 #include <sys/syscall.h>
 #endif
 
+#include "all-io.h"
 #include "uuidP.h"
 #include "uuidd.h"
 #include "randutils.h"
@@ -334,31 +335,6 @@ try_again:
 }
 
 #if defined(HAVE_UUIDD) && defined(HAVE_SYS_UN_H)
-/* used in get_uuid_via_daemon() only */
-static ssize_t read_all(int fd, char *buf, size_t count)
-{
-       ssize_t ret;
-       ssize_t c = 0;
-       int tries = 0;
-
-       memset(buf, 0, count);
-       while (count > 0) {
-               ret = read(fd, buf, count);
-               if (ret <= 0) {
-                       if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
-                           (tries++ < 5))
-                               continue;
-                       return c ? c : -1;
-               }
-               if (ret > 0)
-                       tries = 0;
-               count -= ret;
-               buf += ret;
-               c += ret;
-       }
-       return c;
-}
-
 /*
  * Try using the uuidd daemon to generate the UUID
  *
index 65ee55ad0f1fcfcdc8ab957a097a5f23867e959e..3dde49e1b7d8fd66acabd3f48649003bd48af92e 100644 (file)
@@ -101,30 +101,6 @@ static void create_daemon(void)
                err(EXIT_FAILURE, "setreuid");
 }
 
-static ssize_t read_all(int fd, char *buf, size_t count)
-{
-       ssize_t ret;
-       ssize_t c = 0;
-       int tries = 0;
-
-       memset(buf, 0, count);
-       while (count > 0) {
-               ret = read(fd, buf, count);
-               if (ret <= 0) {
-                       if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
-                           (tries++ < 5))
-                               continue;
-                       return c ? c : -1;
-               }
-               if (ret > 0)
-                       tries = 0;
-               count -= ret;
-               buf += ret;
-               c += ret;
-       }
-       return c;
-}
-
 static const char *cleanup_pidfile, *cleanup_socket;
 
 static void terminate_intr(int signo CODE_ATTR((unused)))