COMMANDS=$(wildcard ../*.c)
OBJS=$(COMMANDS:../%.c=%.o)
-CFLAGS=-Wall -I../../../include -I../../../../rpp/include -DDOCGEN -DNULL=0 -D'CMD_HANDLER(x)=0'
+CFLAGS=-Wall -std=c99 -I../../../include -I../../../../rpp/include -DDOCGEN -DNULL=0 -D'CMD_HANDLER(x)=0'
all: print-doc
#include <cmdproc.h>
#include <string.h>
#include "commands/cmd.h"
+#include <stdlib.h>
#define CMD_ARR_STACK_SIZE 4
printf("%s", des->long_help);
}
+static int cmp_des(const void *p1, const void *p2)
+{
+ const cmd_des_t **c1 = p1, **c2 = p2;
+ return strcmp((*c1)->name, (*c2)->name);
+
+}
int main(int argc, char *argv[])
{
cmd_des_t const **arr_stack[CMD_ARR_STACK_SIZE];
int arr_stack_sp=0;
enum disp_mode mode = SHORT_HELP;
+ #define LEN 1000
+ const cmd_des_t *sorted_des[LEN];
+ int num = 0;
if (argc > 1) {
if (strcmp(argv[1], "full") == 0)
}
}
+ sorted_des[num++] = des;
+ }
+
+ qsort(sorted_des, num, sizeof(*sorted_des), cmp_des);
+
+ for (int i = 0; i < num; i++) {
+ des = sorted_des[i];
+
switch (mode) {
case SHORT_HELP:
print_one_line(des);