#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);
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("--");
}
}
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;
#include <time.h>
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);
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);
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);
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);
{
time_t time = 900;
- char* timestr = get_time_str_overtime(time);
+ char* timestr = get_time_overtime_str(time);
assert_string_equal(timestr, "-00:15");
{
time_t time = 20700;
- char* timestr = get_time_str_overtime(time);
+ char* timestr = get_time_overtime_str(time);
assert_string_equal(timestr, "-05:45");
{
time_t time = -300;
- char* timestr = get_time_str_overtime(time);
+ char* timestr = get_time_overtime_str(time);
assert_string_equal(timestr, "00:05");
{
time_t time = 0;
- char* timestr = get_time_str_overtime(time);
+ char* timestr = get_time_overtime_str(time);
assert_string_equal(timestr, "00:00");
void get_short_sunday()
{
- char* weekday = get_short_weekday(0);
+ char* weekday = get_weekday_short_str(0);
assert_string_equal(weekday, "So");
void get_short_monday()
{
- char* weekday = get_short_weekday(1);
+ char* weekday = get_weekday_short_str(1);
assert_string_equal(weekday, "Mo");
void get_short_thuesday()
{
- char* weekday = get_short_weekday(2);
+ char* weekday = get_weekday_short_str(2);
assert_string_equal(weekday, "Di");
void get_short_wednesday()
{
- char* weekday = get_short_weekday(3);
+ char* weekday = get_weekday_short_str(3);
assert_string_equal(weekday, "Mi");
void get_short_thursday()
{
- char* weekday = get_short_weekday(4);
+ char* weekday = get_weekday_short_str(4);
assert_string_equal(weekday, "Do");
void get_short_friday()
{
- char* weekday = get_short_weekday(5);
+ char* weekday = get_weekday_short_str(5);
assert_string_equal(weekday, "Fr");
void get_short_saturday()
{
- char* weekday = get_short_weekday(6);
+ char* weekday = get_weekday_short_str(6);
assert_string_equal(weekday, "Sa");
void get_short_unknown()
{
- char* weekday = get_short_weekday(7);
+ char* weekday = get_weekday_short_str(7);
assert_string_equal(weekday, "--");
{
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);
}
{
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);
}