main-func: implicitly save argc/argv in DEFINE_MAIN_FUNCTION() functions
authorLennart Poettering <lennart@poettering.net>
Fri, 15 Mar 2019 13:49:43 +0000 (14:49 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 21 Mar 2019 17:10:06 +0000 (18:10 +0100)
Let's remove the risk of forgetting to save argc/argv if
DEFINE_MAIN_FUNCTION() is used.

src/nspawn/nspawn.c
src/shared/main-func.h

index 19eb5b6..dfc4f68 100644 (file)
@@ -4667,9 +4667,6 @@ static int run(int argc, char *argv[]) {
         log_parse_environment();
         log_open();
 
-        /* Make sure rename_process() in the stub init process can work */
-        save_argc_argv(argc, argv);
-
         r = parse_argv(argc, argv);
         if (r <= 0)
                 goto finish;
index 3c182e8..486976f 100644 (file)
@@ -8,10 +8,12 @@
 #include "spawn-ask-password-agent.h"
 #include "spawn-polkit-agent.h"
 #include "static-destruct.h"
+#include "util.h"
 
 #define _DEFINE_MAIN_FUNCTION(intro, impl, ret)                         \
         int main(int argc, char *argv[]) {                              \
                 int r;                                                  \
+                save_argc_argv(argc, argv);                             \
                 intro;                                                  \
                 r = impl;                                               \
                 static_destruct();                                      \