X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Fglob.c;h=1a18b3700fd3299b6d588f14c288ccd168ca004d;hp=f20da84a455d02a1bf5da2baa08e66c3be3b330d;hb=c359347dd42c9f5b875630537ee3641264826b89;hpb=94a49c8207277ec4017a0fb9a3cd8f1e61a518f6 diff --git a/fish/glob.c b/fish/glob.c index f20da84..1a18b37 100644 --- a/fish/glob.c +++ b/fish/glob.c @@ -1,5 +1,5 @@ /* guestfish - the filesystem interactive shell - * 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 @@ -69,46 +69,46 @@ do_glob (const char *cmd, int argc, char *argv[]) if (argv[i][0] == '/') { pp = guestfs_glob_expand (g, argv[i]); if (pp == NULL) { /* real error in glob_expand */ - fprintf (stderr, _("glob: guestfs_glob_expand call failed: %s\n"), - argv[i]); - goto error0; + fprintf (stderr, _("glob: guestfs_glob_expand call failed: %s\n"), + argv[i]); + goto error0; } /* If there were no matches, then we add a single element list * containing just the original argv[i] string. */ if (pp[0] == NULL) { - char **pp2; - - pp2 = realloc (pp, sizeof (char *) * 2); - if (pp2 == NULL) { - perror ("realloc"); - free (pp); - goto error0; - } - pp = pp2; - - pp[0] = strdup (argv[i]); - if (pp[0] == NULL) { - perror ("strdup"); - free (pp); - goto error0; - } - pp[1] = NULL; + char **pp2; + + pp2 = realloc (pp, sizeof (char *) * 2); + if (pp2 == NULL) { + perror ("realloc"); + free (pp); + goto error0; + } + pp = pp2; + + pp[0] = strdup (argv[i]); + if (pp[0] == NULL) { + perror ("strdup"); + free (pp); + goto error0; + } + pp[1] = NULL; } } /* Doesn't begin with '/' */ else { pp = malloc (sizeof (char *) * 2); if (pp == NULL) { - perror ("malloc"); - goto error0; + perror ("malloc"); + goto error0; } pp[0] = strdup (argv[i]); if (pp[0] == NULL) { - perror ("strdup"); - free (pp); - goto error0; + perror ("strdup"); + free (pp); + goto error0; } pp[1] = NULL; } @@ -130,8 +130,8 @@ do_glob (const char *cmd, int argc, char *argv[]) static void glob_issue (char *cmd, int argc, - char ***globs, int *posn, int *count, - int *r) + char ***globs, int *posn, int *count, + int *r) { int i; char *argv[argc+1]; @@ -140,14 +140,16 @@ glob_issue (char *cmd, int argc, argv[argc] = NULL; again: - printf ("%s", argv[0]); - for (i = 1; i < argc; ++i) { - argv[i] = globs[i][posn[i]]; - printf (" %s", argv[i]); + if (guestfs_get_trace (g)) { + printf ("%s", argv[0]); + for (i = 1; i < argc; ++i) { + argv[i] = globs[i][posn[i]]; + printf (" %s", argv[i]); + } + printf ("\n"); } - printf ("\n"); - if (issue_command (argv[0], &argv[1]) == -1) + if (issue_command (argv[0], &argv[1], NULL) == -1) *r = -1; /* ... but don't exit */ for (i = argc-1; i >= 1; --i) {