From 3206690b4ba54657c9ecd6d0813da7de9d04e5d2 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 14 Feb 2026 11:40:56 +0100 Subject: [PATCH] renaming time format methods --- src/time_format.c | 99 +++++++++++++++++++-------------------- src/time_format.h | 7 +-- src/xml.c | 6 +-- tests/time_format_tests.c | 28 +++++------ 4 files changed, 70 insertions(+), 70 deletions(-) diff --git a/src/time_format.c b/src/time_format.c index 586339b..efe6fe1 100644 --- a/src/time_format.c +++ b/src/time_format.c @@ -7,7 +7,7 @@ #define MINUTE 60 #define MAX_TIME_STR_LENGTH 9 -char* strdup(const char* str) +char* _strdup(const char* str) { size_t size = strlen(str) + 1; char* new_str = malloc(sizeof(char) * size); @@ -42,83 +42,52 @@ char* get_time_str(time_t timediff) return timestr; } -char* get_time_str_overtime(time_t timediff) +char* get_time_overtime_str(time_t timediff) { return get_time_str(timediff * -1); } -time_t get_seconds_from_string(const char* timestr) -{ - char* str = malloc(sizeof(char) * 7); - - if (str == NULL) - return 0; - - memset(str, 0, 7); - strncpy(str, timestr, 7); - char* first_str_pos = str; - bool minus = false; - - if (str[0] == '-') - minus = true; - - str = strtok(str, ":"); - time_t seconds = atol(str) * ONE_HOUR; - str = strtok(NULL, ":"); - - if (minus) - seconds += atol(str) * 60 * -1; - else - seconds += atol(str) * 60; - - - free(first_str_pos); - first_str_pos = NULL; - - return seconds; -} - char* get_weekday_str(uint8_t wday) { switch (wday) { case 0: - return strdup("Sonntag"); + return _strdup("Sonntag"); case 1: - return strdup("Montag"); + return _strdup("Montag"); case 2: - return strdup("Dienstag"); + return _strdup("Dienstag"); case 3: - return strdup("Mittwoch"); + return _strdup("Mittwoch"); case 4: - return strdup("Donnerstag"); + return _strdup("Donnerstag"); case 5: - return strdup("Freitag"); + return _strdup("Freitag"); case 6: - return strdup("Samstag"); + return _strdup("Samstag"); default: - return strdup("Unknown"); + return _strdup("Unknown"); } } -char* get_short_weekday(uint8_t wday) +char* get_weekday_short_str(uint8_t wday) { switch(wday) { case 0: - return strdup("So"); + return _strdup("So"); case 1: - return strdup("Mo"); + return _strdup("Mo"); case 2: - return strdup("Di"); + return _strdup("Di"); case 3: - return strdup("Mi"); + return _strdup("Mi"); case 4: - return strdup("Do"); + return _strdup("Do"); case 5: - return strdup("Fr"); + return _strdup("Fr"); case 6: - return strdup("Sa"); + return _strdup("Sa"); default: - return strdup("--"); + return _strdup("--"); } } @@ -141,6 +110,36 @@ uint16_t get_year_from_str(const char* date) return value; } +time_t get_seconds_from_str(const char* timestr) +{ + char* str = malloc(sizeof(char) * 7); + + if (str == NULL) + return 0; + + memset(str, 0, 7); + strncpy(str, timestr, 7); + char* first_str_pos = str; + bool minus = false; + + if (str[0] == '-') + minus = true; + + str = strtok(str, ":"); + time_t seconds = atol(str) * ONE_HOUR; + str = strtok(NULL, ":"); + + if (minus) + seconds += atol(str) * 60 * -1; + else + seconds += atol(str) * 60; + + free(first_str_pos); + first_str_pos = NULL; + + return seconds; +} + uint8_t get_month_from_str(const char* date) { uint8_t value = 0; diff --git a/src/time_format.h b/src/time_format.h index 2d224ab..5d993c0 100644 --- a/src/time_format.h +++ b/src/time_format.h @@ -5,10 +5,11 @@ #include char* get_time_str(time_t timediff); -char* get_time_str_overtime(time_t timediff); -time_t get_seconds_from_string(const char* timestr); +char* get_time_overtime_str(time_t timediff); char* get_weekday_str(uint8_t wday); -char* get_short_weekday(uint8_t wday); +char* get_weekday_short_str(uint8_t wday); + +time_t get_seconds_from_str(const char* timestr); uint16_t get_year_from_str(const char* date); uint8_t get_month_from_str(const char* date); uint8_t get_day_from_str(const char* date); diff --git a/src/xml.c b/src/xml.c index 99f2ea0..f2224e3 100644 --- a/src/xml.c +++ b/src/xml.c @@ -172,7 +172,7 @@ void write_entry_node(xmlTextWriterPtr xmlWriter, free(xmlElemName); xmlElemName = NULL; - char* value = get_short_weekday(end_tm.tm_wday); + char* value = get_weekday_short_str(end_tm.tm_wday); xmlElemName = xmlCharStrdup("wochentag"); xmlElemContent = xmlCharStrdup(value); xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent); @@ -254,7 +254,7 @@ void write_entry_node(xmlTextWriterPtr xmlWriter, free(xmlElemContent); xmlElemContent = NULL; - char* overtimestr = get_time_str_overtime(overtime); + char* overtimestr = get_time_overtime_str(overtime); xmlElemName = xmlCharStrdup("stunden"); xmlElemContent = xmlCharStrdup(value); xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent); @@ -365,7 +365,7 @@ void add_entry(const char* date, memset(saldostr, 0, MAX_STRING_LENGTH); read_last_saldo(fileContent, saldostr); - const time_t saldo = get_seconds_from_string(saldostr); + const time_t saldo = get_seconds_from_str(saldostr); xmlChar* xmlElemContent = NULL; xmlCharEncodingHandlerPtr encodingHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF8); diff --git a/tests/time_format_tests.c b/tests/time_format_tests.c index 326ea8c..c65ef43 100644 --- a/tests/time_format_tests.c +++ b/tests/time_format_tests.c @@ -47,7 +47,7 @@ void get_zero_hour_and_fifteen_minutes_overtime() { time_t time = 900; - char* timestr = get_time_str_overtime(time); + char* timestr = get_time_overtime_str(time); assert_string_equal(timestr, "-00:15"); @@ -59,7 +59,7 @@ void get_five_hour_fourty_five_overtime() { time_t time = 20700; - char* timestr = get_time_str_overtime(time); + char* timestr = get_time_overtime_str(time); assert_string_equal(timestr, "-05:45"); @@ -71,7 +71,7 @@ void get_minus_five_minutes_overtime() { time_t time = -300; - char* timestr = get_time_str_overtime(time); + char* timestr = get_time_overtime_str(time); assert_string_equal(timestr, "00:05"); @@ -83,7 +83,7 @@ void get_zero_overtime() { time_t time = 0; - char* timestr = get_time_str_overtime(time); + char* timestr = get_time_overtime_str(time); assert_string_equal(timestr, "00:00"); @@ -163,7 +163,7 @@ void get_wednesday() void get_short_sunday() { - char* weekday = get_short_weekday(0); + char* weekday = get_weekday_short_str(0); assert_string_equal(weekday, "So"); @@ -173,7 +173,7 @@ void get_short_sunday() void get_short_monday() { - char* weekday = get_short_weekday(1); + char* weekday = get_weekday_short_str(1); assert_string_equal(weekday, "Mo"); @@ -183,7 +183,7 @@ void get_short_monday() void get_short_thuesday() { - char* weekday = get_short_weekday(2); + char* weekday = get_weekday_short_str(2); assert_string_equal(weekday, "Di"); @@ -193,7 +193,7 @@ void get_short_thuesday() void get_short_wednesday() { - char* weekday = get_short_weekday(3); + char* weekday = get_weekday_short_str(3); assert_string_equal(weekday, "Mi"); @@ -203,7 +203,7 @@ void get_short_wednesday() void get_short_thursday() { - char* weekday = get_short_weekday(4); + char* weekday = get_weekday_short_str(4); assert_string_equal(weekday, "Do"); @@ -213,7 +213,7 @@ void get_short_thursday() void get_short_friday() { - char* weekday = get_short_weekday(5); + char* weekday = get_weekday_short_str(5); assert_string_equal(weekday, "Fr"); @@ -223,7 +223,7 @@ void get_short_friday() void get_short_saturday() { - char* weekday = get_short_weekday(6); + char* weekday = get_weekday_short_str(6); assert_string_equal(weekday, "Sa"); @@ -233,7 +233,7 @@ void get_short_saturday() void get_short_unknown() { - char* weekday = get_short_weekday(7); + char* weekday = get_weekday_short_str(7); assert_string_equal(weekday, "--"); @@ -245,7 +245,7 @@ void get_seconds_from_str() { const char* timestr = "04:15"; - const time_t seconds = get_seconds_from_string(timestr); + const time_t seconds = get_seconds_from_str(timestr); assert_int_equal(seconds, 15300); } @@ -254,7 +254,7 @@ void get_seconds_from_str_minus() { const char* timestr = "-04:15"; - const time_t seconds = get_seconds_from_string(timestr); + const time_t seconds = get_seconds_from_str(timestr); assert_int_equal(seconds, -15300); } -- 2.47.3