X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=applets%2Fusage.c;h=94520ff66fa581e94e48e8fc2c77836e61b425f4;hb=e32b6503e75d5bcbf8ffff69cafb09523ff2b482;hp=1515c0898303a776b8dc3fe45038c93fad15cdac;hpb=67991cf824f8df27e74c92d754fb507681c69ce6;p=oweals%2Fbusybox.git diff --git a/applets/usage.c b/applets/usage.c index 1515c0898..94520ff66 100644 --- a/applets/usage.c +++ b/applets/usage.c @@ -1,2 +1,55 @@ -#define USAGE_MESSAGES -#include +/* vi: set sw=4 ts=4: */ +/* + * Copyright (C) 2008 Denys Vlasenko. + * + * Licensed under GPLv2, see file LICENSE in this source tree. + */ +#include +#include +#include + +#include "autoconf.h" + +/* Since we can't use platform.h, have to do this again by hand: */ +#if ENABLE_NOMMU +# define BB_MMU 0 +# define USE_FOR_NOMMU(...) __VA_ARGS__ +# define USE_FOR_MMU(...) +#else +# define BB_MMU 1 +# define USE_FOR_NOMMU(...) +# define USE_FOR_MMU(...) __VA_ARGS__ +#endif + +#include "usage.h" +#define MAKE_USAGE(aname, usage) { aname, usage }, +static struct usage_data { + const char *aname; + const char *usage; +} usage_array[] = { +#include "applets.h" +}; + +static int compare_func(const void *a, const void *b) +{ + const struct usage_data *ua = a; + const struct usage_data *ub = b; + return strcmp(ua->aname, ub->aname); +} + +int main(void) +{ + int i; + int num_messages = sizeof(usage_array) / sizeof(usage_array[0]); + + if (num_messages == 0) + return 0; + + qsort(usage_array, + num_messages, sizeof(usage_array[0]), + compare_func); + for (i = 0; i < num_messages; i++) + write(STDOUT_FILENO, usage_array[i].usage, strlen(usage_array[i].usage) + 1); + + return 0; +}