mirror of https://github.com/sipwise/kamailio.git
Change-Id: I9621bf7fa215087afd3e1b67b0d0746256839b2dchanges/04/21304/4
parent
a3b1703991
commit
5e852cbcd1
@ -0,0 +1,53 @@
|
||||
--- a/src/modules/cfgt/cfgt_int.c
|
||||
+++ b/src/modules/cfgt/cfgt_int.c
|
||||
@@ -477,9 +477,13 @@ int _cfgt_add_routename(cfgt_node_p node
|
||||
} else {
|
||||
LM_DBG("actual routename:[%.*s][%d]\n", node->route->s.len,
|
||||
node->route->s.s, node->route->type);
|
||||
- if(node->route->prev)
|
||||
+ if(node->route->prev) {
|
||||
+ if(node->route->prev->prev)
|
||||
+ LM_DBG("prev prev routename:[%.*s][%d]\n", node->route->prev->prev->s.len,
|
||||
+ node->route->prev->prev->s.s, node->route->prev->prev->type);
|
||||
LM_DBG("prev routename:[%.*s][%d]\n", node->route->prev->s.len,
|
||||
node->route->prev->s.s, node->route->prev->type);
|
||||
+ }
|
||||
if(node->route->next)
|
||||
LM_DBG("next routename:[%.*s][%d]\n", node->route->next->s.len,
|
||||
node->route->next->s.s, node->route->next->type);
|
||||
@@ -487,12 +491,19 @@ int _cfgt_add_routename(cfgt_node_p node
|
||||
LM_DBG("same route\n");
|
||||
_cfgt_set_type(node->route, a);
|
||||
return 2;
|
||||
- } else if(node->route->prev
|
||||
- && STR_EQ(*routename, node->route->prev->s)) {
|
||||
- LM_DBG("back to route[%.*s]\n", node->route->prev->s.len,
|
||||
- node->route->prev->s.s);
|
||||
- _cfgt_set_type(node->route->prev, a);
|
||||
- return 3;
|
||||
+ } else if(node->route->prev) {
|
||||
+ if STR_EQ(*routename, node->route->prev->s) {
|
||||
+ LM_DBG("back to prev route[%.*s]\n", node->route->prev->s.len,
|
||||
+ node->route->prev->s.s);
|
||||
+ _cfgt_set_type(node->route->prev, a);
|
||||
+ return 3;
|
||||
+ } else if(node->route->prev->prev
|
||||
+ && STR_EQ(*routename, node->route->prev->prev->s)) {
|
||||
+ LM_DBG("back to prev prev route[%.*s]\n", node->route->prev->prev->s.len,
|
||||
+ node->route->prev->prev->s.s);
|
||||
+ _cfgt_set_type(node->route->prev->prev, a);
|
||||
+ return 3;
|
||||
+ }
|
||||
}
|
||||
route = pkg_malloc(sizeof(cfgt_str_list_t));
|
||||
if(!route) {
|
||||
@@ -500,6 +511,9 @@ int _cfgt_add_routename(cfgt_node_p node
|
||||
return -1;
|
||||
}
|
||||
memset(route, 0, sizeof(cfgt_str_list_t));
|
||||
+ if(route->prev && node->route->prev) {
|
||||
+ route->prev->prev = node->route->prev;
|
||||
+ }
|
||||
route->prev = node->route;
|
||||
node->route->next = route;
|
||||
node->route = route;
|
||||
Loading…
Reference in new issue