瀏覽代碼

cr: fix some cr kamctl fifo problems

- initialize builtin structures with appropiate values
lucian balanceanu 11 年之前
父節點
當前提交
22d125e3b7
共有 2 個文件被更改,包括 11 次插入2 次删除
  1. 8 0
      modules/carrierroute/cr_config.c
  2. 3 2
      modules/carrierroute/parser_carrierroute.c

+ 8 - 0
modules/carrierroute/cr_config.c

@@ -66,6 +66,13 @@ static void reset_opts(option_description * opts, int size){
 			opts[i].value.string_data.len = 0;
 		}
 	}
+
+	opts[TO_ID_STRIP     ].value.int_data=0;
+	opts[TO_ID_PROB      ].value.float_data=0;
+	opts[TO_ID_HASH_INDEX].value.int_data=0;
+	opts[TO_ID_STATUS    ].value.int_data=0;
+	opts[TO_ID_BACKUP    ].value.int_data=-1;
+
 	return;
 }
 
@@ -108,6 +115,7 @@ static int init_prefix_opts(option_description * opts){
 	memset(opts, '\0', sizeof(option_description) * PO_MAX_IDS);
 	strcpy((char*)(opts[PO_MAX_TARGETS].name), "max_targets");
 	opts[PO_MAX_TARGETS].type=CFG_INT;
+	opts[PO_MAX_TARGETS].value.int_data=-1;
 	return 0;
 }
 

+ 3 - 2
modules/carrierroute/parser_carrierroute.c

@@ -178,8 +178,9 @@ int parse_rv_option(str src, option_description* opt){
 						LM_ERR("Not a string \n");
 						return ERROR_IN_PARSING;
 					}
-				strcpy( opt->value.string_data.s, src.s);
-				opt->value.string_data.len = src.len;
+				strncpy( opt->value.string_data.s, src.s+1, src.len-2);
+				opt->value.string_data.s[src.len-2] = '\0';
+				opt->value.string_data.len = src.len-2;
 				LM_DBG("String Key=<%s>, value=<%s> \n", opt->name, opt->value.string_data.s);
 				ret = SUCCESSFUL_PARSING;
 			}