X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Ffish.c;h=25483a1cd73360fbbf2a90100407790db1d8afd0;hb=64c565dc905cef89a681c0bd9dce0864f3b03797;hp=90740d56eb702385fb0663f2dd392dc81bca00d9;hpb=19a1382fc9317ab88cdbf1dde76a8015868af51d;p=libguestfs.git diff --git a/fish/fish.c b/fish/fish.c index 90740d5..25483a1 100644 --- a/fish/fish.c +++ b/fish/fish.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 @@ -727,11 +727,17 @@ issue_command (const char *cmd, char *argv[], const char *pipecmd) else if (strcasecmp (cmd, "more") == 0 || strcasecmp (cmd, "less") == 0) r = do_more (cmd, argc, argv); + else if (strcasecmp (cmd, "time") == 0) + r = do_time (cmd, argc, argv); else r = run_action (cmd, argc, argv); + /* Always flush stdout after every command, so that messages, results + * etc appear immediately. + */ + fflush (stdout); + if (pipecmd) { - fflush (stdout); close (1); dup2 (stdout_saved_fd, 1); close (stdout_saved_fd); @@ -760,6 +766,8 @@ list_builtin_commands (void) "lcd", _("local change directory")); printf ("%-20s %s\n", "glob", _("expand wildcards in command")); + printf ("%-20s %s\n", + "time", _("measure time taken to run command")); /* actions are printed after this (see list_commands) */ } @@ -845,6 +853,12 @@ display_builtin_command (const char *cmd) strcasecmp (cmd, "q") == 0) printf (_("quit - quit guestfish\n" " quit\n")); + else if (strcasecmp (cmd, "time") == 0) + printf (_("time - measure time taken to run command\n" + " time [ ...]\n" + "\n" + " This runs as usual, and prints the elapsed\n" + " time afterwards.\n")); else fprintf (stderr, _("%s: command not known, use -h to list all commands\n"), cmd);