From: Bastian Dehn Date: Mon, 23 Feb 2026 18:45:49 +0000 (+0100) Subject: change refactor validation arguments X-Git-Tag: 1.3.18^2~2 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=2144dbfb719dd0f693c01b8291413ec405aa889a;p=feierabend.git change refactor validation arguments --- diff --git a/src/feierabend.c b/src/feierabend.c index b77aef0..d8245fb 100644 --- a/src/feierabend.c +++ b/src/feierabend.c @@ -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);