xmlElemName = NULL;
time(&fabend->now);
- free(fabend->now_tm);
- fabend->now_tm = NULL;
- fabend->now_tm = gmtime(&fabend->now);
+ const struct tm* tmp_now = gmtime(&fabend->now);
+ memcpy(fabend->now_tm, tmp_now, sizeof(struct tm));
if (date != NULL) {
fabend->now_tm->tm_year = get_year_from_str(date) - 1900;
fabend->now_tm->tm_mon = get_month_from_str(date) - 1;
xmlElemContent = NULL;
time(&fabend->begin);
- free(fabend->begin_tm);
- fabend->begin_tm = NULL;
- fabend->begin_tm = gmtime(&fabend->begin);
+ const struct tm* tmp_begin = gmtime(&fabend->begin);
+ memcpy(fabend->begin_tm, tmp_begin, sizeof(struct tm));
if (date != NULL) {
fabend->begin_tm->tm_year = get_year_from_str(date) - 1900;
fabend->begin_tm->tm_mon = get_month_from_str(date) - 1;
xmlElemContent = NULL;
fabend->worktime = get_eight_hour_end_worktime(fabend->begin);
- free(fabend->work_end_tm);
- fabend->work_end_tm = NULL;
- fabend->work_end_tm = gmtime(&fabend->worktime);
+ const struct tm* tmp_work_end = gmtime(&fabend->worktime);
+ memcpy(fabend->work_end_tm, tmp_work_end, sizeof(struct tm));
if (date != NULL) {
fabend->work_end_tm->tm_year = get_year_from_str(date) - 1900;
fabend->work_end_tm->tm_mon = get_month_from_str(date) - 1;
xmlElemContent = NULL;
free(xmlElemName);
xmlElemName = NULL;
- free(fabend->max_work_end_tm);
- fabend->max_work_end_tm = NULL;
+ feierabend_free(fabend);
free(fabend);
fabend = NULL;
}