From 8bdba8891071110fe3f04de81dbe375c9c1caa80 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Thu, 30 Jul 2020 01:57:26 +0200 Subject: Initial commit --- src/main.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main.c (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..2e7655d --- /dev/null +++ b/src/main.c @@ -0,0 +1,47 @@ +#include +#include + +#include "main.h" +#include "wine.h" +#include "dxvk.h" +#include "common.h" + +const static struct Command main_commands[] = { + { .name = "wine", .func = wine, .description = "manage wine versions" }, + { .name = "dxvk", .func = dxvk, .description = "manage dxvk versions" }, + { .name = "info", .func = main_info, .description = "show some information about polecat" }, + { .name = "help", .func = main_help, .description = "displays this message" }, +}; + + +int main(int argc, char** argv) +{ + if (argc > 1) + { + for (int i = 0; i < ARRAY_LEN(main_commands); ++i) + { + if (!strcmp(main_commands[i].name, argv[1])) return main_commands[i].func(argc, argv); + } + } + + return main_help(argc, argv); +} + +int main_info(int argc, char** argv) +{ + printf("Version:\t\t%s\n" + "User-Agent:\t\t%s/%s\n", + VERSION, + NAME, VERSION); + + return 0; +} + +int main_help(int argc, char** argv) +{ + puts("usage: polecat \n\nList of commands:"); + + print_help(main_commands, ARRAY_LEN(main_commands)); + + return 0; +} \ No newline at end of file -- cgit v1.2.3