diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-04-21 02:29:38 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-04-21 02:29:38 +0200 |
commit | 419beedef7c03ec86c16d523ba90bc6329d4d6c8 (patch) | |
tree | d10b806f002a0a54558e9fc61a85aec90e138ca2 /src/mds.c | |
parent | m (diff) | |
download | mds-419beedef7c03ec86c16d523ba90bc6329d4d6c8.tar.gz mds-419beedef7c03ec86c16d523ba90bc6329d4d6c8.tar.bz2 mds-419beedef7c03ec86c16d523ba90bc6329d4d6c8.tar.xz |
mds-server: parse command line arguments
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | src/mds.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -246,7 +246,7 @@ int spawn_and_respawn_server(int fd) struct timespec time_end; char* child_args[ARGC_LIMIT + LIBEXEC_ARGC_EXTRA_LIMIT + 1]; char pathname[PATH_MAX]; - char fdstr[64]; + char fdstr[12 /* strlen("--socket-fd=") */ + 64]; int i; pid_t pid; int status; @@ -260,13 +260,12 @@ int spawn_and_respawn_server(int fd) child_args[i] = argv[i]; child_args[argc + 0] = strdup("--initial-spawn"); - child_args[argc + 1] = strdup("--socket-fd"); - snprintf(fdstr, sizeof(fdstr) / sizeof(char), "%i", fd); - child_args[argc + 2] = fdstr; - child_args[argc + 3] = NULL; + snprintf(fdstr, sizeof(fdstr) / sizeof(char), "--socket-fd=%i", fd); + child_args[argc + 1] = fdstr; + child_args[argc + 2] = NULL; -#if (LIBEXEC_ARGC_EXTRA_LIMIT < 3) -# error LIBEXEC_ARGC_EXTRA_LIMIT is too small, need at least 3. +#if (LIBEXEC_ARGC_EXTRA_LIMIT < 2) +# error LIBEXEC_ARGC_EXTRA_LIMIT is too small, need at least 2. #endif for (;;) |