]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change print methods to submethods
authorBastian Dehn <hhaalo@arcor.de>
Sun, 9 Feb 2025 12:38:25 +0000 (13:38 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 9 Feb 2025 12:38:25 +0000 (13:38 +0100)
src/feierabend.c

index 1c879fbeb818b1ced79cddf5a97a18f3a5a8db76..440ebf1a2cd2567d8029cea0b434c2eb37af08a1 100644 (file)
@@ -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 <begin_hours> <begin_minutes> [<end_hours> <end_minutes>]\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 <begin_hours> <begin_minutes> [<end_hours> <end_minutes>]\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