X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fls.c;h=4d4714ee3fd4959172f0a97b2456c3c62c8c7a16;hb=77b2275dfcebce16ceea17ddf77a7f9d0a41c082;hp=05e2cc70cee7a95d0fe8247cefe6c5bfff2fe756;hpb=1cf85b1e60e85c4940869c6291d75ac44a5bd190;p=libguestfs.git diff --git a/daemon/ls.c b/daemon/ls.c index 05e2cc7..4d4714e 100644 --- a/daemon/ls.c +++ b/daemon/ls.c @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,16 +29,8 @@ #include "daemon.h" #include "actions.h" -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); -} - char ** -do_ls (const char *path) +do_ls (char *path) { char **r = NULL; int size = 0, alloc = 0; @@ -78,14 +70,14 @@ do_ls (const char *path) return NULL; } - qsort (r, size-1, sizeof (char *), compare); + sort_strings (r, size-1); return r; } char * -do_ll (const char *path) +do_ll (char *path) { - int r, len; + int r; char *out, *err; char *spath; @@ -98,13 +90,11 @@ do_ll (const char *path) * interactive sessions. For the same reason, you can also "escape" * the sysroot (eg. 'll /..'). */ - len = strlen (path) + 9; - spath = malloc (len); + spath = sysroot_path (path); if (!spath) { reply_with_perror ("malloc"); return NULL; } - snprintf (spath, len, "/sysroot%s", path); r = command (&out, &err, "ls", "-la", spath, NULL); free (spath);