Mercurial > hg > toybox
view lib/help.c @ 990:8caeba551a28
This is the preliminary version of lspci text output support (the location
of pci.ids is hard-coded to /usr/share/misc/pci.ids, as found on Debian/Ubuntu).
+88 lines in two files, including reformatting, comments, whitespace,
and build configuration as well as new code.
The changes:
-Add library code to look up descriptions.
-Add a counter for -n (for the sake of -nn)
-Add the file stream "db" to GLOBALS and open it conditionally
-Add name fields to bufs
-Look up text if enabled and -n is passed never or twice
-Print text if lookup succeeded
author | Isaac Dunham <idunham@lavabit.com> |
---|---|
date | Wed, 07 Aug 2013 11:51:26 -0500 |
parents | c5e80c74ec6c |
children | c51a4dbe5db7 |
line wrap: on
line source
// Function to display help text #include "toys.h" #if !CFG_TOYBOX_HELP void show_help(void) {;} #else #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 show_help(void) { int i = toys.which-toy_list; char *s; 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; } fprintf(toys.exithelp ? stderr : stdout, "%s", s); } #endif