// Function to display help text #include "toys.h" #include "generated/help.h" #undef NEWTOY #undef OLDTOY #define NEWTOY(name,opt,flags) HELP_##name "\0" #if CFG_TOYBOX #define OLDTOY(name,oldname,flags) "\xff" #oldname "\0" #else #define OLDTOY(name, oldname, flags) HELP_##oldname "\0" #endif static char *help_data = #include "generated/newtoys.h" ; void show_help(FILE *out, int full) { int i = toys.which-toy_list; char *s, *ss; if (!(full&2)) fprintf(out, "Toybox %s" USE_TOYBOX(" multicall binary") ": https://landley.net/toybox" USE_TOYBOX(" (see toybox --help)") "\n\n", toybox_version); if (CFG_TOYBOX_HELP) { for (;;) { s = help_data; while (i--) s += strlen(s) + 1; // If it's an alias, restart search for real name if (*s != 255) break; i = toy_find(++s)-toy_list; } if (full) fprintf(out, "%s\n", s); else { strstart(&s, "usage: "); for (ss = s; *ss && *ss!='\n'; ss++); fprintf(out, "%.*s\n", (int)(ss-s), s); } } }