From: Bastian Dehn Date: Sun, 9 Feb 2025 12:38:25 +0000 (+0100) Subject: change print methods to submethods X-Git-Tag: 1.3.5^2~2 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=5761c489d461d5dd1365758323bfc820a918d6d9;p=feierabend.git change print methods to submethods --- diff --git a/src/feierabend.c b/src/feierabend.c index 1c879fb..440ebf1 100644 --- a/src/feierabend.c +++ b/src/feierabend.c @@ -7,7 +7,7 @@ #define MAX_TIME_STR_LENGTH 7 -feierabend* feierabend_init() +feierabend* _feierabend_init() { feierabend* fabend = malloc(sizeof(feierabend)); @@ -22,7 +22,7 @@ feierabend* feierabend_init() return fabend; } -void feierabend_free(feierabend* fabend) +void _feierabend_free(feierabend* fabend) { free(fabend->now); fabend->now = NULL; @@ -40,7 +40,7 @@ void feierabend_free(feierabend* fabend) fabend->max_work_end_tm = NULL; } -void print_german_long_date(struct tm* time_info) +void _print_german_long_date(struct tm* time_info) { char* weekday = get_weekday_str(time_info->tm_wday); @@ -56,7 +56,7 @@ void print_german_long_date(struct tm* time_info) weekday = NULL; } -void set_time(time_t* value, struct tm* tm_value, int hour, int minutes) +void _set_time(time_t* value, struct tm* tm_value, int hour, int minutes) { time(value); @@ -67,66 +67,76 @@ void set_time(time_t* value, struct tm* tm_value, int hour, int minutes) *value = mktime(tm_value); } -int main(int argc, char* argv[]) +void _print_work_begin(feierabend* fabend) { - if (argc < 3 || (argc > 3 && argc < 5)) { - printf("ERROR: %s [ ]\n", argv[0]); - return 1; - } - - feierabend* fabend = feierabend_init(); - - printf("Version: %s\n\n", PROJECT_VERSION); - - set_time(fabend->begin, fabend->begin_tm, atoi(argv[1]), atoi(argv[2])); - - time(fabend->now); - localtime_r(fabend->now, fabend->now_tm); - if (argc == 5) - set_time(fabend->now, fabend->now_tm, atoi(argv[3]), atoi(argv[4])); - - *fabend->worktime = get_eight_hour_end_worktime(*fabend->begin); - localtime_r(fabend->worktime, fabend->work_end_tm); - - *fabend->worktime = get_ten_hour_end_worktime(*fabend->begin); - localtime_r(fabend->worktime, fabend->max_work_end_tm); - printf("%-27s", "Arbeitsbeginn:"); - print_german_long_date(fabend->begin_tm); + _print_german_long_date(fabend->begin_tm); printf("\n"); +} +void _print_time_now(feierabend* fabend) +{ printf("%-27s", "Aktuelle Zeit:"); - print_german_long_date(fabend->now_tm); - printf("\n"); + _print_german_long_date(fabend->now_tm); printf("\n"); +} +void _print_work_end(feierabend* fabend) +{ printf("%s %02d:%02d %-9s", "Arbeitsende", SOLL_HOUR, SOLL_MINUTES, "Std:"); - print_german_long_date(fabend->work_end_tm); + _print_german_long_date(fabend->work_end_tm); printf("\n"); +} +void _print_max_work_end(feierabend* fabend) +{ printf("%-27s", "Arbeitsende 10:00 Std:"); - print_german_long_date(fabend->max_work_end_tm); - printf("\n"); + _print_german_long_date(fabend->max_work_end_tm); printf("\n"); +} - *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now); +void _print_brutto_worktime(feierabend* fabend) +{ char* timestr = malloc(MAX_TIME_STR_LENGTH); + + *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now); get_time_str(*fabend->worktime, timestr); printf("%-26s%6s\n", "Brutto Arbeitzeit:", timestr); + free(timestr); +} + +void _print_netto_worktime(feierabend* fabend) +{ + char* timestr = malloc(MAX_TIME_STR_LENGTH); + *fabend->worktime = get_current_worktime(*fabend->begin, *fabend->now); get_time_str(*fabend->worktime, timestr); printf("%-26s%6s\n", "Netto Arbeitzeit:", timestr); + free(timestr); + timestr = NULL; +} + +void _print_current_breaktime(feierabend* fabend) +{ + char* timestr = malloc(MAX_TIME_STR_LENGTH); + *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now); *fabend->worktime = get_break_time(*fabend->worktime); get_time_str(*fabend->worktime, timestr); printf("%-26s%6s\n", "Aktuelle Pausenzeit:", timestr); - printf("\n"); + free(timestr); + timestr = NULL; +} + +void _print_time_to_end_worktime(feierabend* fabend) +{ + char* timestr = malloc(MAX_TIME_STR_LENGTH); *fabend->worktime = get_current_worktime_diff_to_end_eight_hour(*fabend->begin, *fabend->now); get_time_str(*fabend->worktime, timestr); @@ -135,15 +145,65 @@ int main(int argc, char* argv[]) SOLL_MINUTES, timestr); + free(timestr); + timestr = NULL; +} + +void _print_time_to_max_end_worktime(feierabend* fabend) +{ + char* timestr = malloc(MAX_TIME_STR_LENGTH); + *fabend->worktime = get_current_worktime_diff_to_end_ten_hour(*fabend->begin, *fabend->now); get_time_str(*fabend->worktime, timestr); printf("Arbeitzeit bis 10:00 Std: %6s\n", timestr); - feierabend_free(fabend); - free(fabend); - fabend = NULL; free(timestr); timestr = NULL; +} + +int main(int argc, char* argv[]) +{ + if (argc < 3 || (argc > 3 && argc < 5)) { + printf("ERROR: %s [ ]\n", argv[0]); + return 1; + } + + feierabend* fabend = _feierabend_init(); + + printf("Version: %s\n\n", PROJECT_VERSION); + + _set_time(fabend->begin, fabend->begin_tm, atoi(argv[1]), atoi(argv[2])); + + time(fabend->now); + localtime_r(fabend->now, fabend->now_tm); + if (argc == 5) + _set_time(fabend->now, fabend->now_tm, atoi(argv[3]), atoi(argv[4])); + + *fabend->worktime = get_eight_hour_end_worktime(*fabend->begin); + localtime_r(fabend->worktime, fabend->work_end_tm); + + *fabend->worktime = get_ten_hour_end_worktime(*fabend->begin); + localtime_r(fabend->worktime, fabend->max_work_end_tm); + + _print_work_begin(fabend); + _print_time_now(fabend); + printf("\n"); + + _print_work_end(fabend); + _print_max_work_end(fabend); + printf("\n"); + + _print_brutto_worktime(fabend); + _print_netto_worktime(fabend); + _print_current_breaktime(fabend); + printf("\n"); + + _print_time_to_end_worktime(fabend); + _print_time_to_max_end_worktime(fabend); + + _feierabend_free(fabend); + free(fabend); + fabend = NULL; return 0; } \ No newline at end of file