diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2006-02-15 00:24:24 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2006-02-15 00:24:24 +0000 |
commit | 4662d58b01e5493a39697027285bc22deb2f143c (patch) | |
tree | 6572dc8ac1336a5e0c0859186138a5313e88bd85 /channels | |
parent | 124b00c4a4b971d8f4e34c3bbd73c992ad84d20c (diff) |
add API function for parsing strings to time_t (issue #6320, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 5 | ||||
-rw-r--r-- | channels/chan_sip.c | 13 |
2 files changed, 5 insertions, 13 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index b54f17d21..094a6ab63 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2562,7 +2562,7 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in struct ast_variable *var; struct ast_variable *tmp; struct iax2_peer *peer=NULL; - time_t regseconds, nowtime; + time_t regseconds = 0, nowtime; int dynamic=0; if (peername) @@ -2603,8 +2603,7 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in break; } } else if (!strcasecmp(tmp->name, "regseconds")) { - if (sscanf(tmp->value, "%ld", (time_t *)®seconds) != 1) - regseconds = 0; + ast_get_time_t(tmp->value, ®seconds, 0); } else if (!strcasecmp(tmp->name, "ipaddr")) { inet_aton(tmp->value, &(peer->addr.sin_addr)); } else if (!strcasecmp(tmp->name, "port")) { diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 468514a96..db3d3f1c1 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12152,15 +12152,12 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int ast_variables_destroy(peer->chanvars); peer->chanvars = NULL; } - while(v) { - if (handle_common_options(&peerflags, &mask, v)) { - v = v->next; + for (; v; v = v->next) { + if (handle_common_options(&peerflags, &mask, v)) continue; - } if (realtime && !strcasecmp(v->name, "regseconds")) { - if (sscanf(v->value, "%ld", (time_t *)®seconds) != 1) - regseconds = 0; + ast_get_time_t(v->value, ®seconds, 0); } else if (realtime && !strcasecmp(v->name, "ipaddr") && !ast_strlen_zero(v->value) ) { inet_aton(v->value, &(peer->addr.sin_addr)); } else if (realtime && !strcasecmp(v->name, "name")) @@ -12309,10 +12306,6 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int peer->maxms = 0; } } - /* else if (strcasecmp(v->name,"type")) - * ast_log(LOG_WARNING, "Ignoring %s\n", v->name); - */ - v=v->next; } if (!ast_test_flag((&global_flags_page2), SIP_PAGE2_IGNOREREGEXPIRE) && ast_test_flag((&peer->flags_page2), SIP_PAGE2_DYNAMIC) && realtime) { time_t nowtime; |