diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2006-10-17 22:24:45 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2006-10-17 22:24:45 +0000 |
commit | 696f9ed6770cec3d2a43317c3a0839f6854248a3 (patch) | |
tree | 8796bfc07201b298a7b085d159b527c2fa5a9fd9 /channels/chan_iax2.c | |
parent | 17fabe225d59d30a01163fea76a5f6a976362c83 (diff) |
Merged revisions 45408 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r45408 | kpfleming | 2006-10-17 17:24:10 -0500 (Tue, 17 Oct 2006) | 3 lines
optimize the 'quick response' code a bit more... no more malloc() or memset() for each response
expand stringfields API a bit to allow reusing the stringfield pool on a structure when needed, and remove some unnecessary code when the structure was being freed
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index f71a32af5..7abe62fdf 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -1751,7 +1751,7 @@ retry: iax2_frame_free(frame.data); jb_destroy(pvt->jb); /* gotta free up the stringfields */ - ast_string_field_free_all(pvt); + ast_string_field_free_pools(pvt); free(pvt); } } @@ -8309,7 +8309,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st peer->expire = -1; ast_clear_flag(peer, IAX_DYNAMIC); if (ast_dnsmgr_lookup(v->value, &peer->addr.sin_addr, &peer->dnsmgr)) { - ast_string_field_free_all(peer); + ast_string_field_free_pools(peer); free(peer); return NULL; } @@ -8320,7 +8320,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st inet_aton("255.255.255.255", &peer->mask); } else if (!strcasecmp(v->name, "defaultip")) { if (ast_get_ip(&peer->defaddr, v->value)) { - ast_string_field_free_all(peer); + ast_string_field_free_pools(peer); free(peer); return NULL; } @@ -8456,7 +8456,7 @@ static struct iax2_user *build_user(const char *name, struct ast_variable *v, st if (user) { if (firstpass) { - ast_string_field_free_all(user); + ast_string_field_free_pools(user); memset(user, 0, sizeof(struct iax2_user)); if (ast_string_field_init(user, 32)) { free(user); @@ -8654,7 +8654,7 @@ static void destroy_user(struct iax2_user *user) ast_variables_destroy(user->vars); user->vars = NULL; } - ast_string_field_free_all(user); + ast_string_field_free_pools(user); free(user); } @@ -8695,7 +8695,7 @@ static void destroy_peer(struct iax2_peer *peer) register_peer_exten(peer, 0); if (peer->dnsmgr) ast_dnsmgr_release(peer->dnsmgr); - ast_string_field_free_all(peer); + ast_string_field_free_pools(peer); free(peer); } |