]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change ptr time_t to none ptr
authorBastian Dehn <hhaalo@arcor.de>
Sun, 8 Feb 2026 07:27:36 +0000 (08:27 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 8 Feb 2026 08:17:22 +0000 (09:17 +0100)
src/feierabend.c
src/feierabend.h
src/xml.c

index 7b3174ce5b583d6996ee2ac278f71f170d76de95..e3541ab8bd000c08d304cd5228a2ad21ebfdf03a 100644 (file)
@@ -8,42 +8,6 @@
 
 #define MAX_TIME_STR_LENGTH 7
 
-feierabend* _feierabend_init()
-{
-       feierabend* fabend = malloc(sizeof(feierabend));
-
-       if (fabend == NULL)
-               return NULL;
-
-       fabend->now = malloc(sizeof(time_t));
-       fabend->begin = malloc(sizeof(time_t));
-       fabend->worktime = malloc(sizeof(time_t));
-       fabend->now_tm = malloc(sizeof(struct tm));
-       fabend->begin_tm = malloc(sizeof(struct tm));
-       fabend->work_end_tm = malloc(sizeof(struct tm));
-       fabend->max_work_end_tm = malloc(sizeof(struct tm));
-
-       return fabend;
-}
-
-void _feierabend_free(feierabend* fabend)
-{
-       free(fabend->now);
-       fabend->now = NULL;
-       free(fabend->begin);
-       fabend->begin = NULL;
-       free(fabend->worktime);
-       fabend->worktime = NULL;
-       free(fabend->now_tm);
-       fabend->now_tm = NULL;
-       free(fabend->begin_tm);
-       fabend->begin_tm = NULL;
-       free(fabend->work_end_tm);
-       fabend->work_end_tm = NULL;
-       free(fabend->max_work_end_tm);
-       fabend->max_work_end_tm = NULL;
-}
-
 void _print_german_long_date(const struct tm* time_info)
 {
        char* weekday = get_weekday_str(time_info->tm_wday);
@@ -60,15 +24,15 @@ void _print_german_long_date(const struct tm* time_info)
        weekday = NULL;
 }
 
-void _set_time(time_t* value, struct tm* tm_value, int hour, int minutes)
+time_t _set_time(time_t value, struct tm* tm_value, int hour, int minutes)
 {
-       time(value);
+       time(&value);
 
-       localtime_r(value, tm_value);
+       localtime_r(&value, tm_value);
        tm_value->tm_hour = hour;
        tm_value->tm_min = minutes;
 
-       *value = mktime(tm_value);
+       return mktime(tm_value);
 }
 
 void _print_work_begin(const feierabend* fabend)
@@ -109,8 +73,8 @@ void _print_brutto_worktime(feierabend* fabend)
        if (timestr == NULL)
                return;
 
-       *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, timestr);
+       fabend->worktime = get_brutto_worktime(fabend->begin, fabend->now);
+       get_time_str(fabend->worktime, timestr);
        printf("%-26s%6s\n", "Brutto Arbeitzeit:", timestr);
 
        free(timestr);
@@ -123,8 +87,8 @@ void _print_netto_worktime(feierabend* fabend)
        if (timestr == NULL)
                return;
 
-       *fabend->worktime = get_current_worktime(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, timestr);
+       fabend->worktime = get_current_worktime(fabend->begin, fabend->now);
+       get_time_str(fabend->worktime, timestr);
        printf("%-26s%6s\n", "Netto Arbeitzeit:", timestr);
 
        free(timestr);
@@ -138,9 +102,9 @@ void _print_current_breaktime(feierabend* fabend)
        if (timestr == NULL)
                return;
 
-       *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now);
-       *fabend->worktime = get_break_time(*fabend->worktime);
-       get_time_str(*fabend->worktime, timestr);
+       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);
 
        free(timestr);
@@ -154,8 +118,8 @@ void _print_time_to_end_worktime(feierabend* fabend)
        if (timestr == NULL)
                return;
 
-       *fabend->worktime = get_current_worktime_diff_to_end_eight_hour(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, timestr);
+       fabend->worktime = get_current_worktime_diff_to_end_eight_hour(fabend->begin, fabend->now);
+       get_time_str(fabend->worktime, timestr);
        printf("Arbeitzeit bis %02d:%02d Std: %6s\n",
                SOLL_HOUR,
                SOLL_MINUTES,
@@ -172,8 +136,8 @@ void _print_time_to_max_end_worktime(feierabend* fabend)
        if (timestr == NULL)
                return;
 
-       *fabend->worktime = get_current_worktime_diff_to_end_ten_hour(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, timestr);
+       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);
 
        free(timestr);
@@ -201,22 +165,22 @@ int main(int argc, const char* argv[])
                }
        }
 
-       feierabend* fabend = _feierabend_init();
+       feierabend* fabend = feierabend_init();
 
        printf("Version: %s\n\n", PROJECT_VERSION);
 
-       _set_time(fabend->begin, fabend->begin_tm,  atoi(argv[1]),  atoi(argv[2]));
+       fabend->begin = _set_time(fabend->begin, fabend->begin_tm,  atoi(argv[1]),  atoi(argv[2]));
 
-       time(fabend->now);
-       localtime_r(fabend->now, fabend->now_tm);
+       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->now = _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_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);
+       fabend->worktime = get_ten_hour_end_worktime(fabend->begin);
+       localtime_r(&fabend->worktime, fabend->max_work_end_tm);
 
        _print_time_now(fabend);
        printf("\n");
@@ -234,7 +198,7 @@ int main(int argc, const char* argv[])
        _print_time_to_end_worktime(fabend);
        _print_time_to_max_end_worktime(fabend);
 
-       _feierabend_free(fabend);
+       feierabend_free(fabend);
        free(fabend);
        fabend = NULL;
 
index 0a8dfecd2a9e861742eafd38ab721332c7cc957a..61e17abb437b4d6c37e96809cd92c48ac05121ea 100644 (file)
@@ -6,13 +6,43 @@
 #define ONE_HOUR 3600
 
 typedef struct {
-       time_t* now;
-       time_t* begin;
-       time_t* worktime;
+       time_t now;
+       time_t begin;
+       time_t worktime;
        struct tm* now_tm;
        struct tm* begin_tm;
        struct tm* work_end_tm;
        struct tm* max_work_end_tm;
 } feierabend;
 
+feierabend* feierabend_init()
+{
+       feierabend* fabend = malloc(sizeof(feierabend));
+
+       if (fabend == NULL)
+               return NULL;
+
+       fabend->now = 0;
+       fabend->begin = 0;
+       fabend->worktime = 0;
+       fabend->now_tm = malloc(sizeof(struct tm));
+       fabend->begin_tm = malloc(sizeof(struct tm));
+       fabend->work_end_tm = malloc(sizeof(struct tm));
+       fabend->max_work_end_tm = malloc(sizeof(struct tm));
+
+       return fabend;
+}
+
+void feierabend_free(feierabend* fabend)
+{
+       free(fabend->now_tm);
+       fabend->now_tm = NULL;
+       free(fabend->begin_tm);
+       fabend->begin_tm = NULL;
+       free(fabend->work_end_tm);
+       fabend->work_end_tm = NULL;
+       free(fabend->max_work_end_tm);
+       fabend->max_work_end_tm = NULL;
+}
+
 #endif
\ No newline at end of file
index fabcb84ff2562ae6d295e94ce3256952799d9d5b..2886a9905f5a980d7c8eaaf279602280c5c57be0 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -35,30 +35,6 @@ void free_memFile(memFile* mem) {
        mem->size = NULL;
 }
 
-feierabend* feierabend_init()
-{
-       feierabend* fabend = malloc(sizeof(feierabend));
-
-       if (fabend == NULL)
-               return NULL;
-
-       fabend->now = malloc(sizeof(time_t));
-       fabend->begin = malloc(sizeof(time_t));
-       fabend->worktime = malloc(sizeof(time_t));
-
-       return fabend;
-}
-
-void feierabend_free(feierabend* fabend)
-{
-       free(fabend->now);
-       fabend->now = NULL;
-       free(fabend->begin);
-       fabend->begin = NULL;
-       free(fabend->worktime);
-       fabend->worktime = NULL;
-}
-
 void readStdInIntoMemory(memFile* mem)
 {
        char* buf = malloc(sizeof(char));
@@ -144,8 +120,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemName);
        xmlElemName = NULL;
 
-       time(fabend->now);
-       fabend->now_tm = gmtime(fabend->now);
+       time(&fabend->now);
+       fabend->now_tm = gmtime(&fabend->now);
        if (date != NULL) {
                fabend->now_tm->tm_year = get_year_from_str(date) - 1900;
                fabend->now_tm->tm_mon = get_month_from_str(date) - 1;
@@ -153,7 +129,7 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        }
        fabend->now_tm->tm_hour = end_hour;
        fabend->now_tm->tm_min = end_min;
-       *fabend->now = mktime(fabend->now_tm);
+       fabend->now = mktime(fabend->now_tm);
        char* value = get_short_weekday(fabend->now_tm->tm_wday);
        xmlElemName = xmlCharStrdup("wochentag");
        xmlElemContent = xmlCharStrdup(value);
@@ -177,8 +153,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       time(fabend->begin);
-       fabend->begin_tm = gmtime(fabend->begin);
+       time(&fabend->begin);
+       fabend->begin_tm = gmtime(&fabend->begin);
        if (date != NULL) {
                fabend->begin_tm->tm_year = get_year_from_str(date) - 1900;
                fabend->begin_tm->tm_mon = get_month_from_str(date) - 1;
@@ -189,7 +165,7 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        sprintf(value, "%02d:%02d",
                fabend->begin_tm->tm_hour,
                fabend->begin_tm->tm_min);
-       *fabend->begin = mktime(fabend->begin_tm);
+       fabend->begin = mktime(fabend->begin_tm);
        xmlElemName = xmlCharStrdup("begin");
        xmlElemContent = xmlCharStrdup(value);
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
@@ -199,8 +175,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       *fabend->worktime = get_eight_hour_end_worktime(*fabend->begin);
-       fabend->work_end_tm = gmtime(fabend->worktime);
+       fabend->worktime = get_eight_hour_end_worktime(fabend->begin);
+       fabend->work_end_tm = gmtime(&fabend->worktime);
        if (date != NULL) {
                fabend->work_end_tm->tm_year = get_year_from_str(date) - 1900;
                fabend->work_end_tm->tm_mon = get_month_from_str(date) - 1;
@@ -220,8 +196,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       *fabend->worktime = get_brutto_worktime(*fabend->begin, *fabend->now);
-       time_t breaktime = get_break_time(*fabend->worktime);
+       fabend->worktime = get_brutto_worktime(fabend->begin, fabend->now);
+       time_t breaktime = get_break_time(fabend->worktime);
        get_time_str(breaktime, value);
        xmlElemName = xmlCharStrdup("pause");
        xmlElemContent = xmlCharStrdup(value);
@@ -242,8 +218,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       *fabend->worktime = get_current_worktime(*fabend->begin, *fabend->now);
-       get_time_str(*fabend->worktime, value);
+       fabend->worktime = get_current_worktime(fabend->begin, fabend->now);
+       get_time_str(fabend->worktime, value);
        xmlElemName = xmlCharStrdup("arbeitszeit");
        xmlElemContent = xmlCharStrdup(value);
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
@@ -253,8 +229,8 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       *fabend->worktime = get_current_worktime_diff_to_end_eight_hour(*fabend->begin, *fabend->now);
-       get_time_str_overtime(*fabend->worktime, value);
+       fabend->worktime = get_current_worktime_diff_to_end_eight_hour(fabend->begin, fabend->now);
+       get_time_str_overtime(fabend->worktime, value);
        xmlElemName = xmlCharStrdup("stunden");
        xmlElemContent = xmlCharStrdup(value);
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
@@ -264,9 +240,9 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        free(xmlElemContent);
        xmlElemContent = NULL;
 
-       *fabend->worktime *= -1;
-       *fabend->worktime += last_saldo;
-       get_time_str(*fabend->worktime, value);
+       fabend->worktime *= -1;
+       fabend->worktime += last_saldo;
+       get_time_str(fabend->worktime, value);
        xmlElemName = xmlCharStrdup("saldo");
        xmlElemContent = xmlCharStrdup(value);
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);