]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: proxy: simply ignore duplicates in proxy name lookups
authorWilly Tarreau <w@1wt.eu>
Tue, 26 May 2015 09:35:41 +0000 (11:35 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 26 May 2015 09:35:41 +0000 (11:35 +0200)
Now that we can't have duplicate proxies with similar capabilities, we
can remove some painful check. The first one is the check that made the
lookup function return NULL when a duplicate is found, as it prevented
it from being used in the config parser to detect duplicates.

src/proxy.c

index 56af7820b8555fa6e461e607f933ea5df03a38f9..5c8e26d96800538f3d229e4c56382d49ce57e18e 100644 (file)
@@ -388,14 +388,13 @@ struct proxy *findproxy_mode(const char *name, int mode, int cap) {
        return target;
 }
 
-/* Returns a pointer to the proxy matching either name <name>, or id <name> if
- * <name> begins with a '#'. NULL is returned if no match is found, as well as
- * if multiple matches are found (eg: too large capabilities mask). If <table>
- * is non-zero, it only considers proxies having a table.
+/* Returns a pointer to the first proxy matching either name <name>, or id
+ * <name> if <name> begins with a '#'. NULL is returned if no match is found.
+ * If <table> is non-zero, it only considers proxies having a table.
  */
 struct proxy *proxy_find_by_name(const char *name, int cap, int table)
 {
-       struct proxy *curproxy, *target = NULL;
+       struct proxy *curproxy;
        int pid = -1;
 
        if (*name == '#') {
@@ -415,10 +414,7 @@ struct proxy *proxy_find_by_name(const char *name, int cap, int table)
                        if (table && !curproxy->table.size)
                                continue;
 
-                       if (target)
-                               return NULL;
-
-                       target = curproxy;
+                       return curproxy;
                }
        }
        else {
@@ -436,13 +432,10 @@ struct proxy *proxy_find_by_name(const char *name, int cap, int table)
                        if (table && !curproxy->table.size)
                                continue;
 
-                       if (target)
-                               return NULL;
-
-                       target = curproxy;
+                       return curproxy;
                }
        }
-       return target;
+       return NULL;
 }
 
 /*