Author: mav Date: Wed Jul 31 03:48:48 2019 New Revision: 350461 URL: https://svnweb.freebsd.org/changeset/base/350461
Log: Fix usage printing for nested subcommands. Instead of `nvmecontrol create` should be `nvmecontrol ns create`, etc. MFC after: 2 weeks Modified: head/sbin/nvmecontrol/comnd.c Modified: head/sbin/nvmecontrol/comnd.c ============================================================================== --- head/sbin/nvmecontrol/comnd.c Wed Jul 31 00:16:12 2019 (r350460) +++ head/sbin/nvmecontrol/comnd.c Wed Jul 31 03:48:48 2019 (r350461) @@ -50,10 +50,22 @@ __FBSDID("$FreeBSD$"); static struct cmd top; static void +print_tree(const struct cmd *f) +{ + + if (f->parent != NULL) + print_tree(f->parent); + if (f->name != NULL) + fprintf(stderr, " %s", f->name); +} + +static void print_usage(const struct cmd *f) { - fprintf(stderr, " %s %-15s - %s\n", getprogname(), f->name, f->descr); + fprintf(stderr, " %s", getprogname()); + print_tree(f->parent); + fprintf(stderr, " %-15s - %s\n", f->name, f->descr); } static void @@ -120,7 +132,8 @@ arg_help(int argc __unused, char * const *argv, const // XXX walk up the cmd list... if (argv[optind]) fprintf(stderr, "Unknown argument: %s\n", argv[optind]); - fprintf(stderr, "Usage:\n %s %s", getprogname(), argv[0]); + fprintf(stderr, "Usage:\n %s", getprogname()); + print_tree(f); if (opts) fprintf(stderr, " <args>"); if (args) { _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"