]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change get short weekday with strdup develop
authorBastian Dehn <hhaalo@arcor.de>
Sun, 7 Dec 2025 15:59:15 +0000 (16:59 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 7 Dec 2025 15:59:15 +0000 (16:59 +0100)
src/time_format.c
src/time_format.h
src/xml.c
tests/time_format_tests.c

index 7ec13dcaae613416eedfdf678c9a123b7524b560..d5261271a2715aad79d2953f184ea815bb5a6f02 100644 (file)
@@ -6,7 +6,6 @@
 #define ONE_HOUR 3600
 #define MINUTE 60
 
-#define SHORT_WEEKDAY_STR_LEN 3
 #define MAX_TIME_STR_LENGTH 7
 
 void get_time_str(time_t timediff, char* timestr)
@@ -93,33 +92,25 @@ char* get_weekday_str(int wday)
        }
 }
 
-void get_short_weekday(int wday, char* weekday)
+char* get_short_weekday(int wday)
 {
        switch(wday) {
        case 0:
-               strncpy(weekday, "So", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("So");
        case 1:
-               strncpy(weekday, "Mo", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Mo");
        case 2:
-               strncpy(weekday, "Di", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Di");
        case 3:
-               strncpy(weekday, "Mi", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Mi");
        case 4:
-               strncpy(weekday, "Do", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Do");
        case 5:
-               strncpy(weekday, "Fr", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Fr");
        case 6:
-               strncpy(weekday, "Sa", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("Sa");
        default:
-               strncpy(weekday, "--", SHORT_WEEKDAY_STR_LEN);
-               break;
+               return strdup("--");
        }
 }
 
index 498e70822977b3b8b6c4fabd2057b7cfa079f251..eceb2aa6badf9b0faec35d873ad5494683f987b9 100644 (file)
@@ -7,7 +7,7 @@ void get_time_str(time_t timediff, char* timestr);
 void get_time_str_overtime(time_t timediff, char* timestr);
 void get_seconds_from_string(const char* timestr, time_t* seconds);
 char* get_weekday_str(int wday);
-void get_short_weekday(int wday, char* weekday);
+char* get_short_weekday(int wday);
 int get_year_from_str(const char* date);
 int get_month_from_str(const char* date);
 int get_day_from_str(const char* date);
index 25efe7f0049c71259443f30bf3ea5cad8019d78c..4ecfd43eb72b2b0452dda1e45bdbdde13eba6c9d 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -134,7 +134,6 @@ void writeEntryNode(xmlTextWriterPtr xmlWriter,
        feierabend* fabend = feierabend_init();
        xmlChar* xmlElemName = NULL;
        xmlChar* xmlElemContent = NULL;
-       char* value = malloc(sizeof(char) * MAX_STRING_LENGTH);
 
        xmlElemName = xmlCharStrdup("eintrag");
        xmlTextWriterStartElement(xmlWriter, xmlElemName);
@@ -151,7 +150,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);
-       get_short_weekday(fabend->now_tm->tm_wday, value);
+       char* value = get_short_weekday(fabend->now_tm->tm_wday);
        xmlElemName = xmlCharStrdup("wochentag");
        xmlElemContent = xmlCharStrdup(value);
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
index 1b1d731c0b6875c94cf2c8ef0cf06d9d47fbc9ac..66cbc5350c7fa0959c305cc2bded848db84a83a0 100644 (file)
@@ -205,9 +205,7 @@ void get_wednesday()
 
 void get_short_sunday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(0, weekday);
+       char* weekday = get_short_weekday(0);
 
        assert_string_equal(weekday, "So");
 
@@ -217,9 +215,7 @@ void get_short_sunday()
 
 void get_short_monday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(1, weekday);
+       char* weekday = get_short_weekday(1);
 
        assert_string_equal(weekday, "Mo");
 
@@ -229,9 +225,7 @@ void get_short_monday()
 
 void get_short_thuesday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(2, weekday);
+       char* weekday = get_short_weekday(2);
 
        assert_string_equal(weekday, "Di");
 
@@ -241,9 +235,7 @@ void get_short_thuesday()
 
 void get_short_wednesday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(3, weekday);
+       char* weekday = get_short_weekday(3);
 
        assert_string_equal(weekday, "Mi");
 
@@ -253,9 +245,7 @@ void get_short_wednesday()
 
 void get_short_thursday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(4, weekday);
+       char* weekday = get_short_weekday(4);
 
        assert_string_equal(weekday, "Do");
 
@@ -265,9 +255,7 @@ void get_short_thursday()
 
 void get_short_friday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(5, weekday);
+       char* weekday = get_short_weekday(5);
 
        assert_string_equal(weekday, "Fr");
 
@@ -277,9 +265,7 @@ void get_short_friday()
 
 void get_short_saturday()
 {
-       char* weekday = malloc(sizeof(char) * 3);
-
-       get_short_weekday(6, weekday);
+       char* weekday = get_short_weekday(6);
 
        assert_string_equal(weekday, "Sa");
 
@@ -287,6 +273,16 @@ void get_short_saturday()
        weekday = NULL;
 }
 
+void get_short_unknown()
+{
+       char* weekday = get_short_weekday(7);
+
+       assert_string_equal(weekday, "--");
+
+       free(weekday);
+       weekday = NULL;
+}
+
 void get_seconds_from_str()
 {
        const char* timestr = "04:15";
@@ -352,6 +348,7 @@ int main()
                cmocka_unit_test(get_short_thursday),
                cmocka_unit_test(get_short_friday),
                cmocka_unit_test(get_short_saturday),
+               cmocka_unit_test(get_short_unknown),
                cmocka_unit_test(get_seconds_from_str),
                cmocka_unit_test(get_seconds_from_str_minus),
                cmocka_unit_test(get_year_from_date),