浏览代码

Clean up my 1776 fix a bit

Sebastian notes (and I think correctly) that one of our ||s should
have been an &&, which simplifies a boolean expression to decide
whether to replace bridges.  I'm also refactoring out the negation at
the start of the expression, to make it more readable.
Nick Mathewson 15 年之前
父节点
当前提交
45b500d5a6
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      src/or/routerlist.c

+ 6 - 2
src/or/routerlist.c

@@ -3238,8 +3238,12 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
     const int was_bridge = old_router &&
     const int was_bridge = old_router &&
       old_router->purpose == ROUTER_PURPOSE_BRIDGE;
       old_router->purpose == ROUTER_PURPOSE_BRIDGE;
 
 
-    if (! (routerinfo_is_a_configured_bridge(router) &&
-           (router->purpose == ROUTER_PURPOSE_BRIDGE || !was_bridge))) {
+    if (routerinfo_is_a_configured_bridge(router) &&
+        router->purpose == ROUTER_PURPOSE_BRIDGE &&
+        !was_bridge) {
+      log_info(LD_DIR, "Replacing non-bridge descriptor with bridge "
+               "descriptor for router '%s'", router->nickname);
+    } else {
       log_info(LD_DIR,
       log_info(LD_DIR,
                "Dropping descriptor that we already have for router '%s'",
                "Dropping descriptor that we already have for router '%s'",
                router->nickname);
                router->nickname);