]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change refactor print methods
authorBastian Dehn <hhaalo@arcor.de>
Sun, 22 Feb 2026 09:40:01 +0000 (10:40 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 22 Feb 2026 09:40:01 +0000 (10:40 +0100)
src/feierabend.c

index 7b1eef1a98b18aa419bdc9d6c6a5a8a352368c36..d468f86e218d76b85054afe40bea5d5c2d5080e0 100644 (file)
@@ -8,6 +8,18 @@
 
 #define MONTH_CORRECTION 1
 #define EPOCH_ZERO 1900
+#define MAX_HOUR 10
+#define MAX_MINUTES 0
+
+#define WORK_BEGIN "Arbeitsbeginn"
+#define CURRENT_TIME "Aktuelle Zeit"
+#define WORK_END "Arbeitsende"
+#define HOUR "Std"
+
+#define BRUTTO_WORKTIME "Brutto Arbeitszeit"
+#define NETTO_WORKTIME "Netto Arbeitszeit"
+#define BREAK_TIME "Pausenzeit"
+#define WORKTIME_TO "Arbeitszeit bis"
 
 void _print_german_long_date(const struct tm time_info)
 {
@@ -25,85 +37,51 @@ void _print_german_long_date(const struct tm time_info)
        weekday = NULL;
 }
 
-void _print_work_begin(const struct tm begin_tm)
-{
-       printf("%-27s", "Arbeitsbeginn:");
-       _print_german_long_date(begin_tm);
-       printf("\n");
-}
-
-void _print_time_now(const struct tm now_tm)
-{
-       printf("%-27s", "Aktuelle Zeit:");
-       _print_german_long_date(now_tm);
-       printf("\n");
-}
-
-void _print_work_end(const struct tm work_end_tm)
+void _print_long_date_time(const char* label, const struct tm time_tm)
 {
-       printf("%s %02d:%02d %-9s", "Arbeitsende",
-               SOLL_HOUR,
-               SOLL_MINUTES,
-               "Std:");
-       _print_german_long_date(work_end_tm);
+       printf("%-27s", label);
+       _print_german_long_date(time_tm);
        printf("\n");
 }
 
-void _print_max_work_end(const struct tm max_work_end_tm)
+void _print_long_work_end_time(const uint8_t soll_hour,
+       const uint8_t soll_minutes,
+       const struct tm time_tm)
 {
-       printf("%-27s", "Arbeitsende 10:00 Std:");
-       _print_german_long_date(max_work_end_tm);
+       printf("%s %02d:%02d %-9s",
+               WORK_END,
+               soll_hour,
+               soll_minutes,
+               HOUR);
+       _print_german_long_date(time_tm);
        printf("\n");
 }
 
-void _print_brutto_worktime(const time_t brutto_worktime)
-{
-       char* timestr = get_time_str(brutto_worktime);
-       printf("%-26s%6s\n", "Brutto Arbeitzeit:", timestr);
-
-       free(timestr);
-       timestr = NULL;
-}
-
-void _print_netto_worktime(const time_t netto_worktime)
-{
-       char* timestr = get_time_str(netto_worktime);
-       printf("%-26s%6s\n", "Netto Arbeitzeit:", timestr);
-
-       free(timestr);
-       timestr = NULL;
-}
-
-void _print_current_breaktime(const time_t break_time)
+void _print_time(const char* label, const time_t time)
 {
-       char* timestr = get_time_str(break_time);
-       printf("%-26s%6s\n", "Aktuelle Pausenzeit:", timestr);
+       char* timestr = get_time_str(time);
+       printf("%-26s%6s\n", label, timestr);
 
        free(timestr);
        timestr = NULL;
 }
 
-void _print_time_to_end_worktime(const time_t diff_to_end)
+void _print_time_to_end(const uint8_t soll_hour,
+       const uint8_t soll_minutes,
+       const time_t time)
 {
-       char* timestr = get_time_str(diff_to_end);
-       printf("Arbeitzeit bis %02d:%02d Std: %6s\n",
-               SOLL_HOUR,
-               SOLL_MINUTES,
+       char* timestr = get_time_str(time);
+       printf("%s %02d:%02d %s %6s\n",
+               WORKTIME_TO,
+               soll_hour,
+               soll_minutes,
+               HOUR,
                timestr);
 
        free(timestr);
        timestr = NULL;
 }
 
-void _print_time_to_max_end_worktime(const time_t diff_to_max_end)
-{
-       char* timestr = get_time_str(diff_to_max_end);
-       printf("Arbeitzeit bis 10:00 Std: %6s\n", timestr);
-
-       free(timestr);
-       timestr = NULL;
-}
-
 struct tm _get_tm_from_time(const time_t time)
 {
        struct tm tm_value;
@@ -168,21 +146,21 @@ int main(const int argc, const char* argv[])
        const time_t diff_to_end = get_current_worktime_diff_to_end_eight_hour(begin, now);
        const time_t diff_to_max_end = get_current_worktime_diff_to_end_ten_hour(begin, now);
 
-       _print_time_now(now_tm);
+       _print_long_date_time(CURRENT_TIME, now_tm);
        printf("\n");
 
-       _print_work_begin(begin_tm);
-       _print_work_end(work_eight_end_tm);
-       _print_max_work_end(max_work_end_tm);
+       _print_long_date_time(WORK_BEGIN, begin_tm);
+       _print_long_work_end_time(SOLL_HOUR, SOLL_MINUTES, work_eight_end_tm);
+       _print_long_work_end_time(MAX_HOUR, MAX_MINUTES, max_work_end_tm);
        printf("\n");
 
-       _print_brutto_worktime(brutto_worktime);
-       _print_netto_worktime(netto_worktime);
-       _print_current_breaktime(break_time);
+       _print_time(BRUTTO_WORKTIME, brutto_worktime);
+       _print_time(NETTO_WORKTIME, netto_worktime);
+       _print_time(BREAK_TIME, break_time);
        printf("\n");
 
-       _print_time_to_end_worktime(diff_to_end);
-       _print_time_to_max_end_worktime(diff_to_max_end);
+       _print_time_to_end(SOLL_HOUR, SOLL_MINUTES, diff_to_end);
+       _print_time_to_end(MAX_HOUR, MAX_MINUTES, diff_to_max_end);
 
        return EXIT_SUCCESS;
 }
\ No newline at end of file