|
|
- From 715e9b892f564e58489f86c125aed2a8994f16e9 Mon Sep 17 00:00:00 2001
- From: Conrad Hoffmann <conrad@soundcloud.com>
- Date: Mon, 28 Jul 2014 23:22:43 +0200
- Subject: [PATCH 2/3] BUG/MINOR: Fix search for -p argument in systemd wrapper.
-
- 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>
- (cherry picked from commit eb2cf45b72a7e14c581276247381dc1ac76be2c0)
- ---
- src/haproxy-systemd-wrapper.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
- diff --git a/src/haproxy-systemd-wrapper.c b/src/haproxy-systemd-wrapper.c
- index ba07ebe..529b213 100644
- --- a/src/haproxy-systemd-wrapper.c
- +++ b/src/haproxy-systemd-wrapper.c
- @@ -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;
- }
- --
- 1.8.5.5
-
|