]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change timestr to local variable
authorBastian Dehn <hhaalo@arcor.de>
Sun, 9 Feb 2025 11:16:22 +0000 (12:16 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 9 Feb 2025 11:16:22 +0000 (12:16 +0100)
src/feierabend.c
src/feierabend.h
src/time_format.c
src/xml.c

index 48f31e5722f1478452c056e93b5afd8dbd9d2db8..1c879fbeb818b1ced79cddf5a97a18f3a5a8db76 100644 (file)
@@ -18,7 +18,6 @@ feierabend* feierabend_init()
        fabend->begin_tm = malloc(sizeof(struct tm));
        fabend->work_end_tm = malloc(sizeof(struct tm));
        fabend->max_work_end_tm = malloc(sizeof(struct tm));
-       fabend->timestr = malloc(sizeof(char) * MAX_TIME_STR_LENGTH);
 
        return fabend;
 }
@@ -39,8 +38,6 @@ void feierabend_free(feierabend* fabend)
        fabend->work_end_tm = NULL;
        free(fabend->max_work_end_tm);
        fabend->max_work_end_tm = NULL;
-       free(fabend->timestr);
-       fabend->timestr = NULL;
 }
 
 void print_german_long_date(struct tm* time_info)
@@ -116,34 +113,37 @@ int main(int argc, char* argv[])
        printf("\n");
 
        *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, fabend->timestr);
-       printf("%-26s%6s\n", "Brutto Arbeitzeit:", fabend->timestr);
+       char* timestr = malloc(MAX_TIME_STR_LENGTH);
+       get_time_str(*fabend->worktime, timestr);
+       printf("%-26s%6s\n", "Brutto Arbeitzeit:", timestr);
 
        *fabend->worktime = get_current_worktime(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, fabend->timestr);
-       printf("%-26s%6s\n", "Netto Arbeitzeit:", fabend->timestr);
+       get_time_str(*fabend->worktime, timestr);
+       printf("%-26s%6s\n", "Netto Arbeitzeit:", timestr);
 
        *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now);
        *fabend->worktime = get_break_time(*fabend->worktime);
-       get_time_str(*fabend->worktime, fabend->timestr);
-       printf("%-26s%6s\n", "Aktuelle Pausenzeit:", fabend->timestr);
+       get_time_str(*fabend->worktime, timestr);
+       printf("%-26s%6s\n", "Aktuelle Pausenzeit:", timestr);
 
        printf("\n");
 
        *fabend->worktime = get_current_worktime_diff_to_end_eight_hour(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, fabend->timestr);
+       get_time_str(*fabend->worktime, timestr);
        printf("Arbeitzeit bis %02d:%02d Std: %6s\n",
                SOLL_HOUR,
                SOLL_MINUTES,
-               fabend->timestr);
+               timestr);
 
        *fabend->worktime = get_current_worktime_diff_to_end_ten_hour(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, fabend->timestr);
-       printf("Arbeitzeit bis 10:00 Std: %6s\n", fabend->timestr);
+       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;
 
        return 0;
 }
\ No newline at end of file
index 16936b12cb698f48978de269b08394470d50bc4a..0a8dfecd2a9e861742eafd38ab721332c7cc957a 100644 (file)
@@ -13,7 +13,6 @@ typedef struct {
        struct tm* begin_tm;
        struct tm* work_end_tm;
        struct tm* max_work_end_tm;
-       char* timestr;
 } feierabend;
 
 #endif
\ No newline at end of file
index 432a96670f71d2b1d5ef019859d6276f3acb99b2..e7f29c41df8122fd5903099883cc4d639ae0199b 100644 (file)
@@ -7,9 +7,11 @@
 #define MINUTE 60
 
 #define SHORT_WEEKDAY_STR_LEN 3
+#define MAX_TIME_STR_LENGTH 7
 
 void get_time_str(time_t timediff, char* timestr)
 {
+       memset(timestr, 0, MAX_TIME_STR_LENGTH);
        int hour = timediff / ONE_HOUR;
        int rest_minutes = timediff % ONE_HOUR;
        int minutes = rest_minutes / MINUTE;
index 4c851ac6ea1d656e5d688168116dfbe87bc3e669..ade493e6a49ad148ae1dd450c1a2377e4e539955 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -33,18 +33,16 @@ void init_feierabend(feierabend* fabend)
        fabend->now = malloc(sizeof(time_t));
        fabend->begin = malloc(sizeof(time_t));
        fabend->worktime = malloc(sizeof(time_t));
-       fabend->timestr = malloc(sizeof(char) * 7);
 }
 
 void free_feierabend(feierabend* fabend)
 {
        free(fabend->now);
-       free(fabend->begin);
-       free(fabend->worktime);
-       free(fabend->timestr);
        fabend->now = NULL;
+       free(fabend->begin);
        fabend->begin = NULL;
-       fabend->timestr = NULL;
+       free(fabend->worktime);
+       fabend->worktime = NULL;
 }
 
 void readStdInIntoMemory(memFile* mem)