int is_dst = 0;
time_t current_time = 0;
time_t due_time = 0;
- struct tm *cur_tm = NULL ;
- struct tm *due_tm = NULL ;
+ struct tm tm, *cur_tm = NULL;
+ struct tm *due_tm = NULL;
alarm_info_t *alarm_info = &__alarm_info->alarm_info;
alarm_mode_t *mode = &alarm_info->mode;
time(¤t_time);
- cur_tm = localtime(¤t_time);
+ cur_tm = localtime_r(¤t_time, &tm);
if (cur_tm && cur_tm->tm_isdst > 0)
is_dst = 1;
}
if (mode->repeat != ALARM_REPEAT_MODE_WEEKLY && mode->repeat != ALARM_REPEAT_MODE_ONCE) {
- due_tm = localtime(&due_time);
+ due_tm = localtime_r(&due_time, &tm);
if (is_dst == 0 && due_tm && due_tm->tm_isdst == 1) {
ALARM_MGR_LOG_PRINT("DST alarm found, enable\n");
due_tm->tm_hour = due_tm->tm_hour - DST_TIME_DIFF;
struct rtc_wkalrm rtc_wkalarm;
int retval = 0;
int return_code = ALARMMGR_RESULT_SUCCESS;
- struct tm *alarm_tm = NULL;
+ struct tm tm, *alarm_tm = NULL;
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
char log_tag[ALARMMGR_LOG_TAG_SIZE] = {0,};
char log_message[ALARMMGR_LOG_MESSAGE_SIZE] = {0,};
time_t current_time;
current_time = time(NULL);
- alarm_tm = localtime(¤t_time);
+ alarm_tm = localtime_r(¤t_time, &tm);
if (alarm_tm == NULL) {
ALARM_MGR_EXCEPTION_PRINT("alarm_tm is NULL");
return true;