]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: Fix search for -p argument in systemd wrapper.
authorConrad Hoffmann <conrad@soundcloud.com>
Mon, 28 Jul 2014 21:22:43 +0000 (23:22 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 29 Jul 2014 09:04:20 +0000 (11:04 +0200)
Searching for the pid file in the list of arguments did not
take flags without parameters into account, like e.g. -de. Because
of this, the wrapper would use a different pid file than haproxy
if such an argument was specified before -p.

The new version can still yield a false positive for some crazy
situations, like your config file name starting with "-p", but
I think this is as good as it gets without using getopt or some
library.

Signed-off-by: Conrad Hoffmann <conrad@soundcloud.com>
src/haproxy-systemd-wrapper.c

index ba07ebe01ccc75a723edab575492c8fe149586ca..529b2136df29286d5ce246b3229095b6914217d6 100644 (file)
@@ -130,11 +130,8 @@ static void sigint_handler(int signum __attribute__((unused)))
 static void init(int argc, char **argv)
 {
        while (argc > 1) {
-               if (**argv == '-') {
-                       char *flag = *argv + 1;
-                       --argc; ++argv;
-                       if (*flag == 'p')
-                               pid_file = *argv;
+               if ((*argv)[0] == '-' && (*argv)[1] == 'p') {
+                       pid_file = *(argv + 1);
                }
                --argc; ++argv;
        }