Mercurial > hg > toybox
view toys/help.c @ 186:25447caf1b4b
Change command main() functions to return void, and exit(toys.exitval) from
the toybox infrastructure instead. Eliminates a return call from each command.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 29 Nov 2007 18:14:37 -0600 |
parents | ed26d3529575 |
children | 30a6db5a95c2 |
line wrap: on
line source
/* vi: set sw=4 ts=4: */ /* * help.c - Show help for toybox */ #include "toys.h" #include "toys/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 "toys/toylist.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); }