Sfoglia il codice sorgente

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 anni fa
parent
commit
45b500d5a6
1 ha cambiato i file con 6 aggiunte e 2 eliminazioni
  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 &&
       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,
                "Dropping descriptor that we already have for router '%s'",
                router->nickname);