From 5fdba27ea22e1584759dd3c698922d8444c8eb2a Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Thu, 14 Jun 2007 22:09:20 +0000 Subject: [PATCH] Merged revisions 69392 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r69392 | kpfleming | 2007-06-14 16:50:40 -0500 (Thu, 14 Jun 2007) | 2 lines use ast_localtime() in every place localtime_r() was being used ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69405 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_minivm.c | 3 +- apps/app_voicemail.c | 6 +-- cdr/cdr_csv.c | 2 +- cdr/cdr_manager.c | 6 +-- cdr/cdr_odbc.c | 2 +- cdr/cdr_pgsql.c | 2 +- cdr/cdr_radius.c | 6 +-- cdr/cdr_sqlite.c | 6 +-- cdr/cdr_tds.c | 2 +- channels/chan_iax2.c | 3 +- channels/chan_mgcp.c | 2 +- channels/chan_phone.c | 2 +- include/asterisk/utils.h | 7 ++++ main/asterisk.c | 8 ++-- main/callerid.c | 2 +- main/cdr.c | 3 +- main/logger.c | 4 +- main/manager.c | 4 +- main/pbx.c | 2 +- main/say.c | 79 +++++++++++++++++++++++++--------------- main/stdtime/localtime.c | 2 +- 21 files changed, 91 insertions(+), 62 deletions(-) diff --git a/apps/app_minivm.c b/apps/app_minivm.c index 6479f7c709..4960ecf997 100644 --- a/apps/app_minivm.c +++ b/apps/app_minivm.c @@ -715,8 +715,9 @@ static int get_date(char *s, int len) { struct tm tm; time_t t; + t = time(0); - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); return strftime(s, len, "%a %b %e %r %Z %Y", &tm); } diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 710072d91e..8b934fbd84 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -2239,7 +2239,7 @@ static int get_date(char *s, int len) struct tm tm; time_t t; t = time(0); - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); return strftime(s, len, "%a %b %e %r %Z %Y", &tm); } @@ -4380,10 +4380,10 @@ static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *v /* No internal variable parsing for now, so we'll comment it out for the time being */ #if 0 /* Set the DIFF_* variables */ - localtime_r(&t, &time_now); + ast_localtime(&t, &time_now, NULL); tv_now = ast_tvnow(); tnow = tv_now.tv_sec; - localtime_r(&tnow,&time_then); + ast_localtime(&tnow, &time_then, NULL); /* Day difference */ if (time_now.tm_year == time_then.tm_year) diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c index cbfe80fd0a..f40f555a8d 100644 --- a/cdr/cdr_csv.c +++ b/cdr/cdr_csv.c @@ -200,7 +200,7 @@ static int append_date(char *buf, struct timeval tv, size_t bufsize) if (usegmtime) { gmtime_r(&t,&tm); } else { - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); } strftime(tmp, sizeof(tmp), DATE_FORMAT, &tm); return append_string(buf, tmp, bufsize); diff --git a/cdr/cdr_manager.c b/cdr/cdr_manager.c index bd6ef67098..352d7d400d 100644 --- a/cdr/cdr_manager.c +++ b/cdr/cdr_manager.c @@ -95,17 +95,17 @@ static int manager_log(struct ast_cdr *cdr) return 0; t = cdr->start.tv_sec; - localtime_r(&t, &timeresult); + ast_localtime(&t, &timeresult, NULL); strftime(strStartTime, sizeof(strStartTime), DATE_FORMAT, &timeresult); if (cdr->answer.tv_sec) { t = cdr->answer.tv_sec; - localtime_r(&t, &timeresult); + ast_localtime(&t, &timeresult, NULL); strftime(strAnswerTime, sizeof(strAnswerTime), DATE_FORMAT, &timeresult); } t = cdr->end.tv_sec; - localtime_r(&t, &timeresult); + ast_localtime(&t, &timeresult, NULL); strftime(strEndTime, sizeof(strEndTime), DATE_FORMAT, &timeresult); manager_event(EVENT_FLAG_CALL, "Cdr", diff --git a/cdr/cdr_odbc.c b/cdr/cdr_odbc.c index 56f0cda353..d9b1cbb9ee 100644 --- a/cdr/cdr_odbc.c +++ b/cdr/cdr_odbc.c @@ -99,7 +99,7 @@ static int odbc_log(struct ast_cdr *cdr) if (usegmtime) gmtime_r(&cdr->start.tv_sec,&tm); else - localtime_r(&cdr->start.tv_sec,&tm); + ast_localtime(&cdr->start.tv_sec, &tm, NULL); ast_mutex_lock(&odbc_lock); strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c index 0b62440a88..09df1bfd74 100644 --- a/cdr/cdr_pgsql.c +++ b/cdr/cdr_pgsql.c @@ -78,7 +78,7 @@ static int pgsql_log(struct ast_cdr *cdr) ast_mutex_lock(&pgsql_lock); - localtime_r(&cdr->start.tv_sec,&tm); + ast_localtime(&cdr->start.tv_sec, &tm, NULL); strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); if ((!connected) && pghostname && pgdbuser && pgpassword && pgdbname) { diff --git a/cdr/cdr_radius.c b/cdr/cdr_radius.c index ff380a13aa..c41d680ddb 100644 --- a/cdr/cdr_radius.c +++ b/cdr/cdr_radius.c @@ -146,7 +146,7 @@ static int build_radius_record(VALUE_PAIR **send, struct ast_cdr *cdr) if (ast_test_flag(&global_flags, RADIUS_FLAG_USEGMTIME)) gmtime_r(&(cdr->start.tv_sec), &tm); else - localtime_r(&(cdr->start.tv_sec), &tm); + ast_localtime(&(cdr->start.tv_sec), &tm, NULL); strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); if (!rc_avpair_add(rh, send, PW_AST_START_TIME, timestr, strlen(timestr), VENDOR_CODE)) return -1; @@ -155,7 +155,7 @@ static int build_radius_record(VALUE_PAIR **send, struct ast_cdr *cdr) if (ast_test_flag(&global_flags, RADIUS_FLAG_USEGMTIME)) gmtime_r(&(cdr->answer.tv_sec), &tm); else - localtime_r(&(cdr->answer.tv_sec), &tm); + ast_localtime(&(cdr->answer.tv_sec), &tm, NULL); strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); if (!rc_avpair_add(rh, send, PW_AST_ANSWER_TIME, timestr, strlen(timestr), VENDOR_CODE)) return -1; @@ -164,7 +164,7 @@ static int build_radius_record(VALUE_PAIR **send, struct ast_cdr *cdr) if (ast_test_flag(&global_flags, RADIUS_FLAG_USEGMTIME)) gmtime_r(&(cdr->end.tv_sec), &tm); else - localtime_r(&(cdr->end.tv_sec), &tm); + ast_localtime(&(cdr->end.tv_sec), &tm, NULL); strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm); if (!rc_avpair_add(rh, send, PW_AST_END_TIME, timestr, strlen(timestr), VENDOR_CODE)) return -1; diff --git a/cdr/cdr_sqlite.c b/cdr/cdr_sqlite.c index b47dd350c7..52010ad93b 100644 --- a/cdr/cdr_sqlite.c +++ b/cdr/cdr_sqlite.c @@ -104,15 +104,15 @@ static int sqlite_log(struct ast_cdr *cdr) ast_mutex_lock(&sqlite_lock); t = cdr->start.tv_sec; - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(startstr, sizeof(startstr), DATE_FORMAT, &tm); t = cdr->answer.tv_sec; - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(answerstr, sizeof(answerstr), DATE_FORMAT, &tm); t = cdr->end.tv_sec; - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(endstr, sizeof(endstr), DATE_FORMAT, &tm); for(count=0; count<5; count++) { diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c index 3f79fc6374..451bf14402 100644 --- a/cdr/cdr_tds.c +++ b/cdr/cdr_tds.c @@ -286,7 +286,7 @@ static void get_date(char *dateField, struct timeval tv) if (!ast_tvzero(tv)) { t = tv.tv_sec; - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(buf, 80, DATE_FORMAT, &tm); sprintf(dateField, "'%s'", buf); } diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index c89ead79fd..2092dfd647 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2874,9 +2874,10 @@ static unsigned int iax2_datetime(const char *tz) struct tm tm; unsigned int tmp; time(&t); - localtime_r(&t, &tm); if (!ast_strlen_zero(tz)) ast_localtime(&t, &tm, tz); + else + ast_localtime(&t, &tm, NULL); tmp = (tm.tm_sec >> 1) & 0x1f; /* 5 bits of seconds */ tmp |= (tm.tm_min & 0x3f) << 5; /* 6 bits of minutes */ tmp |= (tm.tm_hour & 0x1f) << 11; /* 5 bits of hours */ diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index 9c3161b778..c55f389766 100644 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -2237,7 +2237,7 @@ static int transmit_notify_request_with_callerid(struct mgcp_subchannel *sub, ch struct mgcp_endpoint *p = sub->parent; time(&t); - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); n = callername; l = callernum; if (!n) diff --git a/channels/chan_phone.c b/channels/chan_phone.c index e33d1a1d2d..781431ce27 100644 --- a/channels/chan_phone.c +++ b/channels/chan_phone.c @@ -295,7 +295,7 @@ static int phone_call(struct ast_channel *ast, char *dest, int timeout) int start; time(&UtcTime); - localtime_r(&UtcTime,&tm); + ast_localtime(&UtcTime, &tm, NULL); memset(&cid, 0, sizeof(PHONE_CID)); if(&tm != NULL) { diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 4b523da986..779db5ea06 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -33,11 +33,13 @@ #include #include #include +#include /* we want to override localtime_r */ #include "asterisk/lock.h" #include "asterisk/time.h" #include "asterisk/logger.h" #include "asterisk/compiler.h" +#include "asterisk/localtime.h" /*! \note \verbatim @@ -255,6 +257,11 @@ const char *ast_inet_ntoa(struct in_addr ia); #endif #define inet_ntoa __dont__use__inet_ntoa__use__ast_inet_ntoa__instead__ +#ifdef localtime_r +#undef localtime_r +#endif +#define localtime_r __dont_use_localtime_r_use_ast_localtime_instead__ + int ast_utils_init(void); int ast_wait_for_input(int fd, int ms); diff --git a/main/asterisk.c b/main/asterisk.c index 4f5ada9b0d..2e469729bb 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -365,11 +365,11 @@ static int handle_show_settings(int fd, int argc, char *argv[]) #if defined(HAVE_SYSINFO) ast_cli(fd, " Min Free Memory: %ld MB\n", option_minmemfree); #endif - if (localtime_r(&ast_startuptime, &tm)) { + if (ast_localtime(&ast_startuptime, &tm, NULL)) { strftime(buf, sizeof(buf), "%H:%M:%S", &tm); ast_cli(fd, " Startup time: %s\n", buf); } - if (localtime_r(&ast_lastreloadtime, &tm)) { + if (ast_localtime(&ast_lastreloadtime, &tm, NULL)) { strftime(buf, sizeof(buf), "%H:%M:%S", &tm); ast_cli(fd, " Last reload time: %s\n", buf); } @@ -1864,7 +1864,7 @@ static char *cli_prompt(EditLine *el) case 'd': /* date */ memset(&tm, 0, sizeof(tm)); time(&ts); - if (localtime_r(&ts, &tm)) + if (ast_localtime(&ts, &tm, NULL)) strftime(p, sizeof(prompt) - strlen(prompt), "%Y-%m-%d", &tm); break; case 'h': /* hostname */ @@ -1921,7 +1921,7 @@ static char *cli_prompt(EditLine *el) case 't': /* time */ memset(&tm, 0, sizeof(tm)); time(&ts); - if (localtime_r(&ts, &tm)) + if (ast_localtime(&ts, &tm, NULL)) strftime(p, sizeof(prompt) - strlen(prompt), "%H:%M:%S", &tm); break; case '#': /* process console or remote? */ diff --git a/main/callerid.c b/main/callerid.c index 55e20d3da8..1401bbbd92 100644 --- a/main/callerid.c +++ b/main/callerid.c @@ -691,7 +691,7 @@ static int callerid_genmsg(char *msg, int size, const char *number, const char * /* Get the time */ time(&t); - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); ptr = msg; diff --git a/main/cdr.c b/main/cdr.c index 6614604ebe..deed01e3f2 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -212,7 +212,8 @@ static void cdr_get_tv(struct timeval tv, const char *fmt, char *buf, int bufsiz time_t t = tv.tv_sec; if (t) { struct tm tm; - localtime_r(&t, &tm); + + ast_localtime(&t, &tm, NULL); strftime(buf, bufsize, fmt, &tm); } } diff --git a/main/logger.c b/main/logger.c index e842c77bda..c64b634f4f 100644 --- a/main/logger.c +++ b/main/logger.c @@ -931,7 +931,7 @@ void ast_log(int level, const char *file, int line, const char *function, const /* Create our date/time */ time(&t); - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(logmsg->date, sizeof(logmsg->date), dateformat, &tm); /* Copy over data */ @@ -1022,7 +1022,7 @@ void ast_verbose(const char *fmt, ...) char *datefmt; time(&t); - localtime_r(&t, &tm); + ast_localtime(&t, &tm, NULL); strftime(date, sizeof(date), dateformat, &tm); datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1); sprintf(datefmt, "[%s] %s", date, fmt); diff --git a/main/manager.c b/main/manager.c index 31df724d5c..0124005545 100644 --- a/main/manager.c +++ b/main/manager.c @@ -2290,9 +2290,9 @@ static int action_corestatus(struct mansession *s, const struct message *m) if (!ast_strlen_zero(actionid)) snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid); - localtime_r(&ast_startuptime, &tm); + ast_localtime(&ast_startuptime, &tm, NULL); strftime(startuptime, sizeof(startuptime), "%H:%M:%S", &tm); - localtime_r(&ast_lastreloadtime, &tm); + ast_localtime(&ast_lastreloadtime, &tm, NULL); strftime(reloadtime, sizeof(reloadtime), "%H:%M:%S", &tm); astman_append(s, "Response: Success\r\n" diff --git a/main/pbx.c b/main/pbx.c index dbd12039a6..e01b7c9adb 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -4311,7 +4311,7 @@ int ast_check_timing(const struct ast_timing *i) struct tm tm; time_t t = time(NULL); - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); /* If it's not the right month, return */ if (!(i->monthmask & (1 << tm.tm_mon))) diff --git a/main/say.c b/main/say.c index fcb066e5a9..c11ac72182 100644 --- a/main/say.c +++ b/main/say.c @@ -3062,8 +3062,8 @@ int ast_say_date_pt(struct ast_channel *chan, time_t t, const char *ints, const struct tm tm; char fn[256]; int res = 0; - ast_localtime(&t,&tm,NULL); - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); snprintf(fn, sizeof(fn), "digits/day-%d", tm.tm_wday); if (!res) res = wait_file(chan, ints, fn, lang); @@ -5637,7 +5637,8 @@ int ast_say_time_en(struct ast_channel *chan, time_t t, const char *ints, const struct tm tm; int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); hour = tm.tm_hour; if (!hour) hour = 12; @@ -5683,7 +5684,8 @@ int ast_say_time_de(struct ast_channel *chan, time_t t, const char *ints, const { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) res = ast_say_number(chan, tm.tm_hour, ints, lang, "n"); if (!res) @@ -5701,7 +5703,8 @@ int ast_say_time_hu(struct ast_channel *chan, time_t t, const char *ints, const { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) res = ast_say_number(chan, tm.tm_hour, ints, lang, "n"); if (!res) @@ -5722,7 +5725,8 @@ int ast_say_time_fr(struct ast_channel *chan, time_t t, const char *ints, const { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_number(chan, tm.tm_hour, ints, lang, "f"); if (!res) @@ -5739,7 +5743,8 @@ int ast_say_time_nl(struct ast_channel *chan, time_t t, const char *ints, const { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) res = ast_say_number(chan, tm.tm_hour, ints, lang, (char *) NULL); if (!res) @@ -5758,7 +5763,8 @@ int ast_say_time_pt(struct ast_channel *chan, time_t t, const char *ints, const struct tm tm; int res = 0; int hour; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); hour = tm.tm_hour; if (!res) res = ast_say_number(chan, hour, ints, lang, "f"); @@ -5784,7 +5790,8 @@ int ast_say_time_pt_BR(struct ast_channel *chan, time_t t, const char *ints, con { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_number(chan, tm.tm_hour, ints, lang, "f"); if (!res) { @@ -5813,7 +5820,8 @@ int ast_say_time_tw(struct ast_channel *chan, time_t t, const char *ints, const struct tm tm; int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); hour = tm.tm_hour; if (!hour) hour = 12; @@ -5882,7 +5890,8 @@ int ast_say_datetime_en(struct ast_channel *chan, time_t t, const char *ints, co char fn[256]; int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) { snprintf(fn, sizeof(fn), "digits/day-%d", tm.tm_wday); res = ast_streamfile(chan, fn, lang); @@ -5945,7 +5954,8 @@ int ast_say_datetime_de(struct ast_channel *chan, time_t t, const char *ints, co { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_date(chan, t, ints, lang); if (!res) ast_say_time(chan, t, ints, lang); @@ -5958,7 +5968,8 @@ int ast_say_datetime_hu(struct ast_channel *chan, time_t t, const char *ints, co { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_date(chan, t, ints, lang); if (!res) ast_say_time(chan, t, ints, lang); @@ -5971,7 +5982,8 @@ int ast_say_datetime_fr(struct ast_channel *chan, time_t t, const char *ints, co struct tm tm; char fn[256]; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) res = ast_say_number(chan, tm.tm_mday, ints, lang, (char *) NULL); @@ -6009,7 +6021,8 @@ int ast_say_datetime_nl(struct ast_channel *chan, time_t t, const char *ints, co { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_date(chan, t, ints, lang); if (!res) { res = ast_streamfile(chan, "digits/nl-om", lang); @@ -6028,7 +6041,8 @@ int ast_say_datetime_pt(struct ast_channel *chan, time_t t, const char *ints, co char fn[256]; int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) { snprintf(fn, sizeof(fn), "digits/day-%d", tm.tm_wday); res = ast_streamfile(chan, fn, lang); @@ -6091,7 +6105,8 @@ int ast_say_datetime_pt_BR(struct ast_channel *chan, time_t t, const char *ints, { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_date(chan, t, ints, lang); if (!res) res = ast_say_time(chan, t, ints, lang); @@ -6105,7 +6120,8 @@ int ast_say_datetime_tw(struct ast_channel *chan, time_t t, const char *ints, co char fn[256]; int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); if (!res) res = ast_say_number(chan, tm.tm_year + 1900, ints, lang, (char *) NULL); if (!res) { @@ -6184,8 +6200,8 @@ int ast_say_datetime_from_now_en(struct ast_channel *chan, time_t t, const char time(&nowt); - localtime_r(&t,&tm); - localtime_r(&nowt,&now); + ast_localtime(&t, &tm, NULL); + ast_localtime(&nowt,&now, NULL); daydiff = now.tm_yday - tm.tm_yday; if ((daydiff < 0) || (daydiff > 6)) { /* Day of month and month */ @@ -6224,8 +6240,8 @@ int ast_say_datetime_from_now_fr(struct ast_channel *chan, time_t t, const char time(&nowt); - localtime_r(&t,&tm); - localtime_r(&nowt,&now); + ast_localtime(&t, &tm, NULL); + ast_localtime(&nowt, &now, NULL); daydiff = now.tm_yday - tm.tm_yday; if ((daydiff < 0) || (daydiff > 6)) { /* Day of month and month */ @@ -6264,8 +6280,8 @@ int ast_say_datetime_from_now_pt(struct ast_channel *chan, time_t t, const char time(&nowt); - localtime_r(&t,&tm); - localtime_r(&nowt,&now); + ast_localtime(&t, &tm, NULL); + ast_localtime(&nowt, &now, NULL); daydiff = now.tm_yday - tm.tm_yday; if ((daydiff < 0) || (daydiff > 6)) { /* Day of month and month */ @@ -6489,7 +6505,7 @@ static int ast_say_time_gr(struct ast_channel *chan, time_t t, const char *ints, int res = 0; int hour, pm=0; - localtime_r(&t,&tm); + ast_localtime(&t, &tm, NULL); hour = tm.tm_hour; if (!hour) @@ -6534,7 +6550,8 @@ static int ast_say_datetime_gr(struct ast_channel *chan, time_t t, const char *i struct tm tm; char fn[256]; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); /* W E E K - D A Y */ @@ -7024,7 +7041,8 @@ static int ast_say_time_ge(struct ast_channel *chan, time_t t, const char *ints, { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_number(chan, tm.tm_hour, ints, lang, (char*)NULL); if (!res) { @@ -7054,7 +7072,8 @@ static int ast_say_datetime_ge(struct ast_channel *chan, time_t t, const char *i { struct tm tm; int res = 0; - localtime_r(&t,&tm); + + ast_localtime(&t, &tm, NULL); res = ast_say_date(chan, t, ints, lang); if (!res) ast_say_time(chan, t, ints, lang); @@ -7077,8 +7096,8 @@ static int ast_say_datetime_from_now_ge(struct ast_channel *chan, time_t t, cons time(&nowt); - localtime_r(&t,&tm); - localtime_r(&nowt,&now); + ast_localtime(&t, &tm, NULL); + ast_localtime(&nowt, &now, NULL); daydiff = now.tm_yday - tm.tm_yday; if ((daydiff < 0) || (daydiff > 6)) { /* Day of month and month */ diff --git a/main/stdtime/localtime.c b/main/stdtime/localtime.c index e54f2affd6..18cd3d7d8a 100644 --- a/main/stdtime/localtime.c +++ b/main/stdtime/localtime.c @@ -1217,7 +1217,7 @@ const time_t * const timep; char *buf; { struct tm tm; - return asctime_r(localtime_r(timep, &tm), buf); + return asctime_r(ast_localtime(timep, &tm, NULL), buf); } /*