OSDN Git Service

Fix toybox_vendor dependencies on libselinux_vendor.
[android-x86/external-toybox.git] / lib / help.c
1 // Function to display help text
2
3 #include "toys.h"
4
5 #include "generated/help.h"
6
7 #undef NEWTOY
8 #undef OLDTOY
9 #define NEWTOY(name,opt,flags) HELP_##name "\0"
10 #if CFG_TOYBOX
11 #define OLDTOY(name,oldname,flags) "\xff" #oldname "\0"
12 #else
13 #define OLDTOY(name, oldname, flags) HELP_##oldname "\0"
14 #endif
15 static char *help_data =
16 #include "generated/newtoys.h"
17 ;
18
19 void show_help(FILE *out)
20 {
21   int i = toys.which-toy_list;
22   char *s;
23
24   if (CFG_TOYBOX_HELP) {
25     for (;;) {
26       s = help_data;
27       while (i--) s += strlen(s) + 1;
28       // If it's an alias, restart search for real name
29       if (*s != 255) break;
30       i = toy_find(++s)-toy_list;
31     }
32
33     fprintf(out, "%s", s);
34   }
35 }