]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add command const vars xml
authorBastian Dehn <hhaalo@arcor.de>
Mon, 16 Feb 2026 19:05:06 +0000 (20:05 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 16 Feb 2026 19:05:06 +0000 (20:05 +0100)
src/feierabendxml.c

index 79c6c003eade8cf5106f622f236f392a1552a069..6c9c8f82798f3b65e86fd83aca71b766906b9a06 100644 (file)
@@ -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 <init|add|dateadd|merge|version>\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 [<salod_hour> <saldo_min>]\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 [<salod_hour> <saldo_min>]\n", argv[0]);
+               init_time_acount(0, 0);
+               return 0;
+       }
+
+       if (strcmp(command, CMD_MERGE) == 0) {
+               if (argc < 3) {
+                       printf("ERROR: %s merge <dir>\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 <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
+                       printf("ERROR: %s add <begin_hours> <begin_minutes> <end_hours> <end_minutes>\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 <yyyy-MM-dd> <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
+       if (strcmp(command, CMD_DATEADD) == 0) {
+               if (argc < 7) {
+                       printf("ERROR: %s dateadd <yyyy-MM-dd> <begin_hours> <begin_minutes> <end_hours> <end_minutes>\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 <dir>\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;
        }