fabend->begin = _set_time(fabend->begin, fabend->begin_tm, atoi(argv[1]), atoi(argv[2]));
- time(&fabend->now);
- fabend->now_tm = localtime(&fabend->now);
+ fabend->now = time(NULL);
+ const struct tm* tmp_now = localtime(&fabend->now);
+ memcpy(fabend->now_tm, tmp_now, sizeof(struct tm));
+
if (argc == 5)
fabend->now = _set_time(fabend->now, fabend->now_tm, atoi(argv[3]), atoi(argv[4]));
fabend->worktime = get_eight_hour_end_worktime(fabend->begin);
- fabend->work_end_tm = localtime(&fabend->worktime);
+ const struct tm* tmp_work_end = localtime(&fabend->worktime);
+ memcpy(fabend->work_end_tm, tmp_work_end, sizeof(struct tm));
fabend->worktime = get_ten_hour_end_worktime(fabend->begin);
- fabend->max_work_end_tm = localtime(&fabend->worktime);
+ const struct tm* tmp_max_work_end = localtime(&fabend->worktime);
+ memcpy(fabend->max_work_end_tm, tmp_max_work_end, sizeof(struct tm));
_print_time_now(fabend);
printf("\n");
fabend->now = 0;
fabend->begin = 0;
fabend->worktime = 0;
- fabend->now_tm = NULL;
+ fabend->now_tm = malloc(sizeof(struct tm));
fabend->begin_tm = malloc(sizeof(struct tm));
- fabend->work_end_tm = NULL;
- fabend->max_work_end_tm = NULL;
+ fabend->work_end_tm = malloc(sizeof(struct tm));
+ fabend->max_work_end_tm = malloc(sizeof(struct tm));
return fabend;
}
{
free(fabend->begin_tm);
fabend->begin_tm = NULL;
+ free(fabend->now_tm);
+ fabend->now_tm = NULL;
+ free(fabend->work_end_tm);
+ fabend->work_end_tm = NULL;
+ free(fabend->max_work_end_tm);
+ fabend->max_work_end_tm = NULL;
}
#endif
\ No newline at end of file