[Asterisk-code-review] pbx.c: Remove duplicate code. (asterisk[master])
Corey Farrell
asteriskteam at digium.com
Thu Jul 21 23:05:56 CDT 2016
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/3300
Change subject: pbx.c: Remove duplicate code.
......................................................................
pbx.c: Remove duplicate code.
Merge code found in both branches of a conditional in
ast_add_extension2_lockopt.
The updated code initializes peer_table and peer_label_table of the
extension before linking it to the context.
Change-Id: Ic759e27cdc9906c6877df41d28ee9c5be8f41c20
---
M main/pbx.c
1 file changed, 19 insertions(+), 33 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/00/3300/1
diff --git a/main/pbx.c b/main/pbx.c
index f9fad03..4d6d31e 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -7278,52 +7278,38 @@
* so insert in the main list right before 'e' (if any)
*/
tmp->next = e;
- if (el) { /* there is another exten already in this context */
- el->next = tmp;
- tmp->peer_table = ast_hashtab_create(13,
- hashtab_compare_exten_numbers,
+ tmp->peer_table = ast_hashtab_create(13,
+ hashtab_compare_exten_numbers,
+ ast_hashtab_resize_java,
+ ast_hashtab_newsize_java,
+ hashtab_hash_priority,
+ 0);
+ tmp->peer_label_table = ast_hashtab_create(7,
+ hashtab_compare_exten_labels,
ast_hashtab_resize_java,
ast_hashtab_newsize_java,
- hashtab_hash_priority,
+ hashtab_hash_labels,
0);
- tmp->peer_label_table = ast_hashtab_create(7,
- hashtab_compare_exten_labels,
- ast_hashtab_resize_java,
- ast_hashtab_newsize_java,
- hashtab_hash_labels,
- 0);
- if (label) {
- ast_hashtab_insert_safe(tmp->peer_label_table, tmp);
- }
- ast_hashtab_insert_safe(tmp->peer_table, tmp);
+
+ if (el) { /* there is another exten already in this context */
+ el->next = tmp;
} else { /* this is the first exten in this context */
- if (!con->root_table)
+ if (!con->root_table) {
con->root_table = ast_hashtab_create(27,
hashtab_compare_extens,
ast_hashtab_resize_java,
ast_hashtab_newsize_java,
hashtab_hash_extens,
0);
- con->root = tmp;
- con->root->peer_table = ast_hashtab_create(13,
- hashtab_compare_exten_numbers,
- ast_hashtab_resize_java,
- ast_hashtab_newsize_java,
- hashtab_hash_priority,
- 0);
- con->root->peer_label_table = ast_hashtab_create(7,
- hashtab_compare_exten_labels,
- ast_hashtab_resize_java,
- ast_hashtab_newsize_java,
- hashtab_hash_labels,
- 0);
- if (label) {
- ast_hashtab_insert_safe(con->root->peer_label_table, tmp);
}
- ast_hashtab_insert_safe(con->root->peer_table, tmp);
-
+ con->root = tmp;
}
+ if (label) {
+ ast_hashtab_insert_safe(tmp->peer_label_table, tmp);
+ }
+ ast_hashtab_insert_safe(tmp->peer_table, tmp);
ast_hashtab_insert_safe(con->root_table, tmp);
+
if (lock_context) {
ast_unlock_context(con);
}
--
To view, visit https://gerrit.asterisk.org/3300
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic759e27cdc9906c6877df41d28ee9c5be8f41c20
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell <git at cfware.com>
More information about the asterisk-code-review
mailing list