瀏覽代碼

Use SMARTLIST_FOREACH_BEGIN and _END, not a for loop

Robert Ransom 14 年之前
父節點
當前提交
ae9a831294
共有 1 個文件被更改,包括 3 次插入4 次删除
  1. 3 4
      src/or/rendservice.c

+ 3 - 4
src/or/rendservice.c

@@ -1940,8 +1940,7 @@ rend_services_introduce(void)
 
     /* Find out which introduction points we have in progress for this
        service. */
-    for (j=0; j < smartlist_len(service->intro_nodes); ++j) {
-      intro = smartlist_get(service->intro_nodes, j);
+    SMARTLIST_FOREACH_BEGIN(service->intro_nodes, rend_intro_point_t *, intro){
       router = router_get_by_digest(intro->extend_info->identity_digest);
       if (!router || !find_intro_circuit(intro, service->pk_digest)) {
         log_info(LD_REND,"Giving up on %s as intro point for %s.",
@@ -1954,12 +1953,12 @@ rend_services_introduce(void)
           service->desc_is_dirty = now;
         }
         rend_intro_point_free(intro);
-        smartlist_del(service->intro_nodes,j--);
+        SMARTLIST_DEL_CURRENT(service->intro_nodes, intro);
         intro_point_set_changed = 1;
       }
       if (router)
         smartlist_add(intro_routers, router);
-    }
+    } SMARTLIST_FOREACH_END(intro);
 
     if (!intro_point_set_changed &&
         (smartlist_len(service->intro_nodes) >=