From d7486ab87465198fb444d34d3248b86b89670459 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Mon, 16 Feb 2026 20:05:06 +0100 Subject: [PATCH] add command const vars xml --- src/feierabendxml.c | 84 +++++++++++++++++++++++++++++---------------- 1 file changed, 55 insertions(+), 29 deletions(-) diff --git a/src/feierabendxml.c b/src/feierabendxml.c index 79c6c00..6c9c8f8 100644 --- a/src/feierabendxml.c +++ b/src/feierabendxml.c @@ -5,31 +5,63 @@ #include "validate.h" #include "xml.h" +#define CMD_VERSION "version" +#define CMD_INIT "init" +#define CMD_ADD "add" +#define CMD_DATEADD "dateadd" +#define CMD_MERGE "merge" + int main(const int argc, const char* argv[]) { + const char* program = argv[0]; if (argc < 2) { - printf("ERROR: %s \n", argv[0]); + printf("ERROR: %s <%s|%s|%s|%s|%s>\n", + program, + CMD_INIT, + CMD_ADD, + CMD_DATEADD, + CMD_MERGE, + CMD_VERSION); return 1; } - if (strcmp(argv[1], "init") == 0) { - if (argc == 2) { - init_time_acount(0, 0); + const char* command = argv[1]; + if (strcmp(command, CMD_VERSION) == 0) { + printf("Version: %s\n", PROJECT_VERSION); + return 0; + } + + if (strcmp(command, CMD_INIT) == 0) { + if (argc > 2 && argc < 4) { + printf("ERROR: %s init [ ]\n", program); + return 1; + } + + if (argc >= 4) { + const uint8_t hour = atoi(argv[2]); + const uint8_t min = atoi(argv[3]); + init_time_acount(hour, min); return 0; } - if (argc < 4) { - printf("ERROR: %s init [ ]\n", argv[0]); + init_time_acount(0, 0); + return 0; + } + + if (strcmp(command, CMD_MERGE) == 0) { + if (argc < 3) { + printf("ERROR: %s merge \n", argv[0]); return 1; } - init_time_acount(atoi(argv[2]), atoi(argv[3])); + const char* dir = argv[2]; + merge(dir); return 0; } - if (strcmp(argv[1], "add") == 0) { + if (strcmp(command, CMD_ADD) == 0) { if (argc < 6) { - printf("ERROR: %s add \n", argv[0]); + printf("ERROR: %s add \n", program); return 1; } @@ -41,13 +73,17 @@ int main(const int argc, const char* argv[]) return 1; } - add_entry(NULL, atoi(argv[2]), atoi(argv[3]), atoi(argv[4]), atoi(argv[5])); + const uint8_t begin_hour = atoi(argv[2]); + const uint8_t begin_min = atoi(argv[3]); + const uint8_t end_hour = atoi(argv[4]); + const uint8_t end_min = atoi(argv[5]); + add_entry(NULL, begin_hour, begin_min, end_hour, end_min); return 0; } - if (strcmp(argv[1], "dateadd") == 0) { - if (argc < 6) { - printf("ERROR: %s dateadd \n", argv[0]); + if (strcmp(command, CMD_DATEADD) == 0) { + if (argc < 7) { + printf("ERROR: %s dateadd \n", program); return 1; } @@ -60,22 +96,12 @@ int main(const int argc, const char* argv[]) return 1; } - add_entry(argv[2], atoi(argv[3]), atoi(argv[4]), atoi(argv[5]), atoi(argv[6])); - return 0; - } - - if (strcmp(argv[1], "merge") == 0) { - if (argc < 3) { - printf("ERROR: %s merge \n", argv[0]); - return 1; - } - - merge(argv[2]); - return 0; - } - - if (strcmp(argv[1], "version") == 0) { - printf("Version: %s\n", PROJECT_VERSION); + const char* date = argv[2]; + const uint8_t begin_hour = atoi(argv[3]); + const uint8_t begin_min = atoi(argv[4]); + const uint8_t end_hour = atoi(argv[5]); + const uint8_t end_min = atoi(argv[6]); + add_entry(date, begin_hour, begin_min, end_hour, end_min); return 0; } -- 2.47.3