return timestr;
}
-void get_time_str_overtime(time_t timediff, char* timestr)
+char* get_time_str_overtime(time_t timediff)
{
- int8_t hour = timediff / ONE_HOUR;
- int16_t rest_minutes = timediff % ONE_HOUR;
- int8_t minutes = rest_minutes / MINUTE;
-
- if (timediff < 1) {
- hour *= -1;
- minutes *= -1;
- sprintf(timestr, "%02d:%02d", hour, minutes);
- return;
- }
-
- sprintf(timestr, "-%02d:%02d", hour, minutes);
+ return get_time_str(timediff * -1);
}
time_t get_seconds_from_string(const char* timestr)
free(xmlElemContent);
xmlElemContent = NULL;
- get_time_str_overtime(overtime, value);
+ char* overtimestr = get_time_str_overtime(overtime);
xmlElemName = xmlCharStrdup("stunden");
xmlElemContent = xmlCharStrdup(value);
xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
- memset(value, 0, MAX_STRING_LENGTH);
+ free(overtimestr);
+ overtimestr = NULL;
free(xmlElemName);
xmlElemName = NULL;
free(xmlElemContent);
void get_zero_hour_and_fifteen_minutes_overtime()
{
time_t time = 900;
- char* timestring = malloc(sizeof(char) * 7);
- if (timestring == NULL)
- return;
+ char* timestr = get_time_str_overtime(time);
- memset(timestring, 0, 7);
+ assert_string_equal(timestr, "-00:15");
- get_time_str_overtime(time, timestring);
-
- assert_string_equal(timestring, "-00:15");
-
- free(timestring);
- timestring = NULL;
+ free(timestr);
+ timestr = NULL;
}
void get_five_hour_fourty_five_overtime()
{
time_t time = 20700;
- char* timestring = malloc(sizeof(char) * 7);
- if (timestring == NULL)
- return;
+ char* timestr = get_time_str_overtime(time);
- memset(timestring, 0, 7);
+ assert_string_equal(timestr, "-05:45");
- get_time_str_overtime(time, timestring);
-
- assert_string_equal(timestring, "-05:45");
-
- free(timestring);
- timestring = NULL;
+ free(timestr);
+ timestr = NULL;
}
void get_minus_five_minutes_overtime()
{
time_t time = -300;
- char* timestring = malloc(sizeof(char) * 7);
- if (timestring == NULL)
- return;
+ char* timestr = get_time_str_overtime(time);
- memset(timestring, 0, 7);
+ assert_string_equal(timestr, "00:05");
- get_time_str_overtime(time, timestring);
-
- assert_string_equal(timestring, "00:05");
-
- free(timestring);
- timestring = NULL;
+ free(timestr);
+ timestr = NULL;
}
void get_zero_overtime()
{
time_t time = 0;
- char* timestring = malloc(sizeof(char) * 7);
- if (timestring == NULL)
- return;
+ char* timestr = get_time_str_overtime(time);
- memset(timestring, 0, 7);
+ assert_string_equal(timestr, "00:00");
- get_time_str_overtime(time, timestring);
-
- assert_string_equal(timestring, "00:00");
-
- free(timestring);
- timestring = NULL;
+ free(timestr);
+ timestr = NULL;
}
void get_thursday()