From: Bastian Dehn Date: Mon, 23 Feb 2026 15:42:42 +0000 (+0100) Subject: add init with end time X-Git-Tag: 1.3.18^2~7 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=04cd97153de81a002c3978a1f8dcba8274bde5f2;p=feierabend.git add init with end time --- diff --git a/src/feierabend.c b/src/feierabend.c index b48f6f5..4b18cf1 100644 --- a/src/feierabend.c +++ b/src/feierabend.c @@ -97,15 +97,19 @@ time_t _init_time_with_args(const char* hour, const char* min) { const time_t now = time(NULL); struct tm now_tm = _get_tm_from_time(now); - now_tm.tm_hour = atoi(hour); - now_tm.tm_min = atoi(min); + + if (hour != NULL) + now_tm.tm_hour = atoi(hour); + + if (min != NULL) + now_tm.tm_min = atoi(min); return mktime(&now_tm); } int _few_arguments(const char* argv[]) { - printf("ERROR: %s \n", argv[0]); + printf("ERROR: %s [ ]\n", argv[0]); return EXIT_FAILURE; } @@ -117,18 +121,24 @@ int _invalid_arguments() int main(const int argc, const char* argv[]) { - if (argc < 3) + if (argc < 3 || argc > 3 && argc < 5) return _few_arguments(argv); - const char* hour = argv[1]; - const char* min = argv[2]; - if (!validate_hourstring(hour) || !validate_minutestring(min)) + 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 = time(NULL); - const time_t begin = _init_time_with_args(hour, min); + const time_t now = _init_time_with_args(argv[3], argv[4]); + const time_t begin = _init_time_with_args(begin_hour, begin_min); const time_t worktime_eight_end = get_eight_hour_end_worktime(begin); const time_t worktime_max_end = get_ten_hour_end_worktime(begin);