#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)
}
}
-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("--");
}
}
feierabend* fabend = feierabend_init();
xmlChar* xmlElemName = NULL;
xmlChar* xmlElemContent = NULL;
- char* value = malloc(sizeof(char) * MAX_STRING_LENGTH);
xmlElemName = xmlCharStrdup("eintrag");
xmlTextWriterStartElement(xmlWriter, xmlElemName);
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);
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");
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");
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");
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");
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");
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");
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");
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";
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),