瀏覽代碼

modules/ims_registrar_scscf: more efficient traversal of contacts

jaybeepee 9 年之前
父節點
當前提交
99caa6c583
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      modules/ims_registrar_scscf/save.c

+ 6 - 2
modules/ims_registrar_scscf/save.c

@@ -694,8 +694,12 @@ int get_number_of_valid_contacts(impurecord_t* impu) {
     int ret = 0;
     get_act_time();
     for (i = 0; i < impu->num_contacts; i++) {
-        if (VALID_CONTACT(impu->newcontacts[i], act_time)) {
-            ret++;
+        if (impu->newcontacts[i]) {
+            if VALID_CONTACT(impu->newcontacts[i], act_time)
+                ret++;
+        } else {
+            //if we hit a null ref then we are at the end of the list.
+            return ret;
         }
     }