From 36ffc5aa3e6bfcab5d628208f4f1508f9b1c2620 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 14 Apr 2013 21:43:22 -0500 Subject: Move guts of help command into show_help() in lib/help.c, with config TOYBOX_HELP controlling infrastructure. --- toys/other/help.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'toys/other/help.c') diff --git a/toys/other/help.c b/toys/other/help.c index 68bc3aab..e16abaab 100644 --- a/toys/other/help.c +++ b/toys/other/help.c @@ -9,6 +9,7 @@ USE_HELP(NEWTOY(help, "<1", TOYFLAG_BIN)) config HELP bool "help" default y + depends on TOYBOX_HELP help usage: help [command] @@ -18,29 +19,12 @@ config HELP #include "toys.h" -#include "generated/help.h" - -#undef NEWTOY -#undef OLDTOY -#define NEWTOY(name,opt,flags) help_##name "\0" -#define OLDTOY(name,oldname,opts,flags) "\xff" #oldname "\0" -static char *help_data = -#include "generated/newtoys.h" -; void help_main(void) { struct toy_list *t = toy_find(*toys.optargs); - int i = t-toy_list; - char *s = help_data; if (!t) error_exit("Unknown command '%s'", *toys.optargs); - for (;;) { - while (i--) s += strlen(s) + 1; - if (*s != 255) break; - i = toy_find(++s)-toy_list; - s = help_data; - } - - fprintf(toys.exithelp ? stderr : stdout, "%s", s); + toys.which = t; + show_help(); } -- cgit v1.2.3