From: Daniel Richard G Date: Thu, 2 Aug 2012 17:45:38 +0000 (+0200) Subject: dss.c: Fix initialization of argv[]. X-Git-Tag: v0.1.5~12^2~7 X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=commitdiff_plain;h=9528cf1dad242f2f41757fb1c7cb93acdba2370d dss.c: Fix initialization of argv[]. argv[] can't be declared in this way because the initializers are not computable at compile time. GCC allows this construct, but stricter compilers don't. --- diff --git a/dss.c b/dss.c index b18be4d..7c8b54f 100644 --- a/dss.c +++ b/dss.c @@ -324,9 +324,14 @@ static int exec_rm(void) { struct snapshot *s = snapshot_currently_being_removed; char *new_name = being_deleted_name(s); - char *argv[] = {"rm", "-rf", new_name, NULL}; + char *argv[4]; int ret; + argv[0] = "rm"; + argv[1] = "-rf"; + argv[2] = new_name; + argv[3] = NULL; + assert(snapshot_removal_status == HS_PRE_SUCCESS); assert(remove_pid == 0); @@ -1215,9 +1220,13 @@ out: static void exit_hook(int exit_code) { - char *argv[] = {conf.exit_hook_arg, dss_strerror(-exit_code), NULL}; + char *argv[3]; pid_t pid; + argv[0] = conf.exit_hook_arg; + argv[1] = dss_strerror(-exit_code); + argv[2] = NULL; + DSS_NOTICE_LOG("executing %s %s\n", argv[0], argv[1]); dss_exec(&pid, conf.exit_hook_arg, argv); }