X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fguestfsd.c;h=ad3ce15ec32b8218e0f0b430de87014b25337095;hb=9dd53bcb10283295d7fb5f0a3469be2984d99926;hp=e8fb48fc5be0caf335cdc8c66b91aa4561201c6d;hpb=58e7e42033b1ac5044ae03f0aa5d5082c5fdb497;p=libguestfs.git diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index e8fb48f..ad3ce15 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -159,11 +159,11 @@ main (int argc, char *argv[]) p += 8; p2 = strchr (p, ':'); if (p2) { - *p2++ = '\0'; - host = p; - r = strcspn (p2, " \n"); - p2[r] = '\0'; - port = p2; + *p2++ = '\0'; + host = p; + r = strcspn (p2, " \n"); + p2[r] = '\0'; + port = p2; } } } @@ -188,7 +188,7 @@ main (int argc, char *argv[]) */ setenv ("PATH", "/usr/bin:/bin", 1); setenv ("SHELL", "/bin/sh", 1); - setenv ("LANG", "C", 1); + setenv ("LC_ALL", "C", 1); /* We document that umask defaults to 022 (it should be this anyway). */ umask (022); @@ -209,7 +209,7 @@ main (int argc, char *argv[]) sock = socket (rr->ai_family, rr->ai_socktype, rr->ai_protocol); if (sock != -1) { if (connect (sock, rr->ai_addr, rr->ai_addrlen) == 0) - break; + break; perror ("connect"); close (sock); @@ -273,9 +273,10 @@ sysroot_path (const char *path) } int -xwrite (int sock, const void *buf, size_t len) +xwrite (int sock, const void *v_buf, size_t len) { int r; + const char *buf = v_buf; while (len > 0) { r = write (sock, buf, len); @@ -291,9 +292,10 @@ xwrite (int sock, const void *buf, size_t len) } int -xread (int sock, void *buf, size_t len) +xread (int sock, void *v_buf, size_t len) { int r; + char *buf = v_buf; while (len > 0) { r = read (sock, buf, len); @@ -351,7 +353,7 @@ add_string (char ***argv, int *size, int *alloc, const char *str) } int -count_strings (char * const* const argv) +count_strings (char *const *argv) { int argc; @@ -403,7 +405,7 @@ int command (char **stdoutput, char **stderror, const char *name, ...) { va_list args; - char **argv, **p; + const char **argv; char *s; int i, r; @@ -420,7 +422,7 @@ command (char **stdoutput, char **stderror, const char *name, ...) va_start (args, name); while ((s = va_arg (args, char *)) != NULL) { - p = realloc (argv, sizeof (char *) * (++i)); + const char **p = realloc (argv, sizeof (char *) * (++i)); if (p == NULL) { perror ("realloc"); free (argv); @@ -434,7 +436,7 @@ command (char **stdoutput, char **stderror, const char *name, ...) va_end (args); - r = commandv (stdoutput, stderror, argv); + r = commandv (stdoutput, stderror, (char **) argv); /* NB: Mustn't free the strings which are on the stack. */ free (argv); @@ -450,7 +452,7 @@ int commandr (char **stdoutput, char **stderror, const char *name, ...) { va_list args; - char **argv, **p; + const char **argv; char *s; int i, r; @@ -467,7 +469,7 @@ commandr (char **stdoutput, char **stderror, const char *name, ...) va_start (args, name); while ((s = va_arg (args, char *)) != NULL) { - p = realloc (argv, sizeof (char *) * (++i)); + const char **p = realloc (argv, sizeof (char *) * (++i)); if (p == NULL) { perror ("realloc"); free (argv); @@ -491,11 +493,11 @@ commandr (char **stdoutput, char **stderror, const char *name, ...) /* Same as 'command', but passing an argv. */ int -commandv (char **stdoutput, char **stderror, char * const* const argv) +commandv (char **stdoutput, char **stderror, char *const *argv) { int r; - r = commandrv (stdoutput, stderror, argv); + r = commandrv (stdoutput, stderror, (void *) argv); if (r == 0) return 0; else @@ -503,7 +505,7 @@ commandv (char **stdoutput, char **stderror, char * const* const argv) } int -commandrv (char **stdoutput, char **stderror, char * const* const argv) +commandrv (char **stdoutput, char **stderror, char const* const *argv) { int so_size = 0, se_size = 0; int so_fd[2], se_fd[2]; @@ -547,7 +549,7 @@ commandrv (char **stdoutput, char **stderror, char * const* const argv) close (so_fd[1]); close (se_fd[1]); - execvp (argv[0], argv); + execvp (argv[0], (void *) argv); perror (argv[0]); _exit (1); } @@ -578,40 +580,40 @@ commandrv (char **stdoutput, char **stderror, char * const* const argv) if (FD_ISSET (so_fd[0], &rset2)) { /* something on stdout */ r = read (so_fd[0], buf, sizeof buf); if (r == -1) { - perror ("read"); - goto quit; + perror ("read"); + goto quit; } if (r == 0) { FD_CLR (so_fd[0], &rset); quit++; } if (r > 0 && stdoutput) { - so_size += r; - p = realloc (*stdoutput, so_size); - if (p == NULL) { - perror ("realloc"); - goto quit; - } - *stdoutput = p; - memcpy (*stdoutput + so_size - r, buf, r); + so_size += r; + p = realloc (*stdoutput, so_size); + if (p == NULL) { + perror ("realloc"); + goto quit; + } + *stdoutput = p; + memcpy (*stdoutput + so_size - r, buf, r); } } if (FD_ISSET (se_fd[0], &rset2)) { /* something on stderr */ r = read (se_fd[0], buf, sizeof buf); if (r == -1) { - perror ("read"); - goto quit; + perror ("read"); + goto quit; } if (r == 0) { FD_CLR (se_fd[0], &rset); quit++; } if (r > 0 && stderror) { - se_size += r; - p = realloc (*stderror, se_size); - if (p == NULL) { - perror ("realloc"); - goto quit; - } - *stderror = p; - memcpy (*stderror + se_size - r, buf, r); + se_size += r; + p = realloc (*stderror, se_size); + if (p == NULL) { + perror ("realloc"); + goto quit; + } + *stderror = p; + memcpy (*stderror + se_size - r, buf, r); } } } @@ -643,7 +645,7 @@ commandrv (char **stdoutput, char **stderror, char * const* const argv) (*stderror)[se_size] = '\0'; se_size--; while (se_size >= 0 && (*stderror)[se_size] == '\n') - (*stderror)[se_size--] = '\0'; + (*stderror)[se_size--] = '\0'; } } @@ -718,11 +720,11 @@ split_lines (char *str) */ static int print_shell_quote (FILE *stream, - const struct printf_info *info, + const struct printf_info *info ATTRIBUTE_UNUSED, const void *const *args) { #define SAFE(c) (isalnum((c)) || \ - (c) == '/' || (c) == '-' || (c) == '_' || (c) == '.') + (c) == '/' || (c) == '-' || (c) == '_' || (c) == '.') int i, len; const char *str = *((const char **) (args[0])); @@ -740,19 +742,19 @@ print_shell_quote (FILE *stream, static int print_sysroot_shell_quote (FILE *stream, - const struct printf_info *info, - const void *const *args) + const struct printf_info *info, + const void *const *args) { #define SAFE(c) (isalnum((c)) || \ - (c) == '/' || (c) == '-' || (c) == '_' || (c) == '.') + (c) == '/' || (c) == '-' || (c) == '_' || (c) == '.') fputs (sysroot, stream); return sysroot_len + print_shell_quote (stream, info, args); } #ifdef HAVE_REGISTER_PRINTF_SPECIFIER static int -print_arginfo (const struct printf_info *info, - size_t n, int *argtypes, int *size) +print_arginfo (const struct printf_info *info ATTRIBUTE_UNUSED, + size_t n, int *argtypes, int *size) { if (n > 0) { argtypes[0] = PA_STRING; @@ -775,7 +777,7 @@ print_arginfo (const struct printf_info *info, size_t n, int *argtypes) #endif /* Perform device name translation. Don't call this directly - - * use the IS_DEVICE macro. + * use the RESOLVE_DEVICE macro. * * See guestfs(3) for the algorithm. *