Pārlūkot izejas kodu

tm: t_on_xyz("0") fixup updates

- if parameter of t_on_reply, t_on_failure, t_on_branch is 0 do not call
  fix_routes and set the parameter value to 0
- resets previous calls of the function with non-zero value and does not
  print warning message at startup because the route is not found
Daniel-Constantin Mierla 15 gadi atpakaļ
vecāks
revīzija
53d7cb1dae
1 mainītis faili ar 15 papildinājumiem un 0 dzēšanām
  1. 15 0
      modules/tm/tm.c

+ 15 - 0
modules/tm/tm.c

@@ -542,6 +542,11 @@ static int fixup_t_reply(void** param, int param_no)
 static int fixup_on_failure(void** param, int param_no)
 {
 	if (param_no==1){
+		if(strlen((char*)*param)<=1
+				&& (*(char*)(*param)==0 || *(char*)(*param)=='0')) {
+			*param = (void*)0;
+			return 0;
+		}
 		return fixup_routes("t_on_failure", &failure_rt, param);
 	}
 	return 0;
@@ -552,6 +557,11 @@ static int fixup_on_failure(void** param, int param_no)
 static int fixup_on_reply(void** param, int param_no)
 {
 	if (param_no==1){
+		if(strlen((char*)*param)<=1
+				&& (*(char*)(*param)==0 || *(char*)(*param)=='0')) {
+			*param = (void*)0;
+			return 0;
+		}
 		return fixup_routes("t_on_reply", &onreply_rt, param);
 	}
 	return 0;
@@ -562,6 +572,11 @@ static int fixup_on_reply(void** param, int param_no)
 static int fixup_on_branch(void** param, int param_no)
 {
 	if (param_no==1){
+		if(strlen((char*)*param)<=1
+				&& (*(char*)(*param)==0 || *(char*)(*param)=='0')) {
+			*param = (void*)0;
+			return 0;
+		}
 		return fixup_routes("t_on_branch", &branch_rt, param);
 	}
 	return 0;