Magellan Linux

Diff of /trunk/mkinitrd-magellan/busybox/applets/usage.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1122 by niro, Sun May 30 11:32:42 2010 UTC revision 1123 by niro, Wed Aug 18 21:56:57 2010 UTC
# Line 5  Line 5 
5   * Licensed under GPLv2, see file LICENSE in this tarball for details.   * Licensed under GPLv2, see file LICENSE in this tarball for details.
6   */   */
7  #include <unistd.h>  #include <unistd.h>
8    #include <stdlib.h>
9    #include <string.h>
10    
 /* Just #include "autoconf.h" doesn't work for builds in separate  
  * object directory */  
11  #include "autoconf.h"  #include "autoconf.h"
12    
13  /* Since we can't use platform.h, have to do this again by hand: */  /* Since we can't use platform.h, have to do this again by hand: */
# Line 21  Line 21 
21  # define USE_FOR_MMU(...) __VA_ARGS__  # define USE_FOR_MMU(...) __VA_ARGS__
22  #endif  #endif
23    
 static const char usage_messages[] = ""  
 #define MAKE_USAGE  
24  #include "usage.h"  #include "usage.h"
25    #define MAKE_USAGE(aname, usage) { aname, usage },
26    static struct usage_data {
27     const char *aname;
28     const char *usage;
29    } usage_array[] = {
30  #include "applets.h"  #include "applets.h"
31  ;  };
32    
33    static int compare_func(const void *a, const void *b)
34    {
35     const struct usage_data *ua = a;
36     const struct usage_data *ub = b;
37     return strcmp(ua->aname, ub->aname);
38    }
39    
40  int main(void)  int main(void)
41  {  {
42   write(STDOUT_FILENO, usage_messages, sizeof(usage_messages));   int i;
43     int num_messages = sizeof(usage_array) / sizeof(usage_array[0]);
44    
45     if (num_messages == 0)
46     return 0;
47    
48     qsort(usage_array,
49     num_messages, sizeof(usage_array[0]),
50     compare_func);
51     for (i = 0; i < num_messages; i++)
52     write(STDOUT_FILENO, usage_array[i].usage, strlen(usage_array[i].usage) + 1);
53    
54   return 0;   return 0;
55  }  }

Legend:
Removed from v.1122  
changed lines
  Added in v.1123