summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2006-02-15 00:24:24 +0000
committerKevin P. Fleming <kpfleming@digium.com>2006-02-15 00:24:24 +0000
commit4662d58b01e5493a39697027285bc22deb2f143c (patch)
tree6572dc8ac1336a5e0c0859186138a5313e88bd85 /channels
parent124b00c4a4b971d8f4e34c3bbd73c992ad84d20c (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.c5
-rw-r--r--channels/chan_sip.c13
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 *)&regseconds) != 1)
- regseconds = 0;
+ ast_get_time_t(tmp->value, &regseconds, 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 *)&regseconds) != 1)
- regseconds = 0;
+ ast_get_time_t(v->value, &regseconds, 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;