X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fguestfsd.c;h=49aca08d2bd08856d329d97db989610f48666743;hp=ef28d9b698f39d2af008fbd4bc9b6d6acfa716fe;hb=945e569db64ab2608b21feba0aa94044c9835ac3;hpb=63882fb2201c834db57c9b9287ff9349310f7dde diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index ef28d9b..49aca08 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -41,6 +41,7 @@ #include #include #include +#include #ifdef HAVE_PRINTF_H # include @@ -543,16 +544,23 @@ add_string (char ***argv, int *size, int *alloc, const char *str) return 0; } -int +size_t count_strings (char *const *argv) { - int argc; + size_t argc; for (argc = 0; argv[argc] != NULL; ++argc) ; return argc; } +/* http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 */ +int +is_power_of_2 (unsigned long v) +{ + return v && ((v & (v - 1)) == 0); +} + static int compare (const void *vp1, const void *vp2) { @@ -758,20 +766,20 @@ commandrvf (char **stdoutput, char **stderror, int flags, */ if (pipe (so_fd) == -1 || pipe (se_fd) == -1) { - perror ("pipe"); + error (0, errno, "pipe"); abort (); } if (flag_copy_stdin) { if (pipe (stdin_fd) == -1) { - perror ("pipe"); + error (0, errno, "pipe"); abort (); } } pid = fork (); if (pid == -1) { - perror ("fork"); + error (0, errno, "fork"); abort (); } @@ -805,7 +813,7 @@ commandrvf (char **stdoutput, char **stderror, int flags, stdin_pid = fork (); if (stdin_pid == -1) { - perror ("fork"); + error (0, errno, "fork"); abort (); }