]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change refactor validation arguments
authorBastian Dehn <hhaalo@arcor.de>
Mon, 23 Feb 2026 18:45:49 +0000 (19:45 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 23 Feb 2026 18:45:49 +0000 (19:45 +0100)
src/feierabend.c

index b77aef0ec50f9f3a8ac09104f4728b0a73d57e12..d8245fb016b24bd65af21cf9b5b76b78669b6674 100644 (file)
@@ -118,22 +118,41 @@ int _invalid_arguments()
        return EXIT_FAILURE;
 }
 
+bool validate_arguments(const int argc, const char* argv[])
+{
+       bool valid = validate_hourstring(argv[1]);
+       valid &= validate_minutestring(argv[2]);
+
+       if (argc == 3)
+               return valid;
+
+       valid &= validate_hourstring(argv[3]);
+       valid &= validate_minutestring(argv[4]);
+
+       return valid;
+}
+
+bool validate_argument_number(const int argc)
+{
+       bool valid = argc == 3;
+       valid |= argc == 5;
+
+       return valid;
+}
+
 int main(const int argc, const char* argv[])
 {
-       if (argc < 3 || (argc > 3 && argc < 5))
+       if (!validate_argument_number(argc))
                return _few_arguments(argv);
 
+       if (!validate_arguments(argc, argv))
+               return _invalid_arguments();
+
        const char* begin_hour = argv[1];
        const char* begin_min = argv[2];
        const char* end_hour = argv[3];
        const char* end_min = argv[4];
 
-       if (!validate_hourstring(begin_hour) || !validate_minutestring(begin_min))
-               return _invalid_arguments();
-
-       if (argc == 5 && (!validate_hourstring(end_hour) || !validate_minutestring(end_min)))
-               return _invalid_arguments();
-
        printf("Version: %s\n\n", PROJECT_VERSION);
 
        const time_t now = _init_time_with_args(end_hour, end_min);