Add bundle

master
Marko Semet 2021-04-22 21:51:25 +02:00
parent 90843713f4
commit ac646bb963
2 changed files with 41 additions and 1 deletions

40
sysutils/bundle.c 100644
View File

@ -0,0 +1,40 @@
#include <stdlib.h>
#include <string.h>
typedef struct {
const char *name;
int (*main_func)(int argc, char **argv);
} COMMAND_DEFINE;
static COMMAND_DEFINE commands[];
#define CBOOTBOX_INCLUDED_CALL
#include "echo.c"
static COMMAND_DEFINE commands[] = {
{ "echo", &echo_main },
{ 0, 0 }
};
int main(int argc, char **argv)
{
COMMAND_DEFINE* cmd;
if(argc <= 1) {
// TODO: Print help
abort();
return -1;
}
else {
cmd = commands;
while(cmd->name != 0) {
if(strcmp(cmd->name, argv[1]) == 0) {
return cmd->main_func(argc - 1, &(argv[1]));
}
}
// TODO: Print help
abort();
return -1;
}
}

View File

@ -3,7 +3,7 @@
#include "utils.h"
int echo_main(int argc, char **argv)
static int echo_main(int argc, char **argv)
{
// Init
int add_newline;