X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fguestfsd.c;h=a243c0beaf96de5d2bbcda59b3875c1d966e4814;hb=0d112d58af8b2c28de9ee4ae5b0ed3527757bdfe;hp=6730c1d23b3fbeb400f4106a5cb587235ac68910;hpb=1cf85b1e60e85c4940869c6291d75ac44a5bd190;p=libguestfs.git diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 6730c1d..a243c0b 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -272,6 +272,20 @@ count_strings (char **argv) return argc; } +static int +compare (const void *vp1, const void *vp2) +{ + char * const *p1 = (char * const *) vp1; + char * const *p2 = (char * const *) vp2; + return strcmp (*p1, *p2); +} + +void +sort_strings (char **argv, int len) +{ + qsort (argv, len, sizeof (char *), compare); +} + void free_strings (char **argv) { @@ -282,6 +296,16 @@ free_strings (char **argv) free (argv); } +void +free_stringslen (char **argv, int len) +{ + int i; + + for (i = 0; i < len; ++i) + free (argv[i]); + free (argv); +} + /* This is a more sane version of 'system(3)' for running external * commands. It uses fork/execvp, so we don't need to worry about * quoting of parameters, and it allows us to capture any error