瀏覽代碼

modules/ims_registrar_scscf: correctly loop through contact parameters

Jason Penton 10 年之前
父節點
當前提交
981ba1beef
共有 2 個文件被更改,包括 6 次插入2 次删除
  1. 1 1
      modules/ims_registrar_scscf/lookup.c
  2. 5 1
      modules/ims_registrar_scscf/registrar_notify.c

+ 1 - 1
modules/ims_registrar_scscf/lookup.c

@@ -105,7 +105,7 @@ int lookup(struct sip_msg* _m, udomain_t* _d) {
 	i++;
     }
 
-    /* look first for an un-expired and suported contact */
+    /* look first for an un-expired and supported contact */
     if (ptr == 0) {
 	LM_INFO("No contacts founds for IMPU <%.*s>\n",aor.len,aor.s);
 	/* nothing found */

+ 5 - 1
modules/ims_registrar_scscf/registrar_notify.c

@@ -1592,7 +1592,11 @@ str generate_reginfo_full(udomain_t* _t, str* impu_list, int num_impus) {
 	    STR_APPEND(buf, uri_e);
 	    
 	    param = ptr->params;
-	    while (param && supported_param(&param->name) == 0) {
+	    while (param)
+			if (supported_param(&param->name) != 0) { 
+				param = param->next;
+				continue;
+			}
 		
 		if(param->body.len > 0) {
 		    LM_DBG("This contact has params name: [%.*s] body [%.*s]\n", param->name.len, param->name.s, param->body.len, param->body.s);