]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: split out code that frees arg_xyz variables
authorLennart Poettering <lennart@poettering.net>
Wed, 6 Dec 2017 20:17:58 +0000 (21:17 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 6 Dec 2017 20:57:35 +0000 (21:57 +0100)
No change in behaviour, just some refactoring to shorten main() a bit.

src/core/main.c

index 7893ddffa36b50719e8c783fc168bf7034a59afb..1bc50b63e113bea032ab5864ed073ace99a48bde 100644 (file)
@@ -1905,6 +1905,21 @@ static int do_queue_default_job(
         return 0;
 }
 
+static void free_arguments(void) {
+        size_t j;
+
+        /* Frees all arg_* variables, with the exception of arg_serialization */
+
+        for (j = 0; j < ELEMENTSOF(arg_default_rlimit); j++)
+                arg_default_rlimit[j] = mfree(arg_default_rlimit[j]);
+
+        arg_default_unit = mfree(arg_default_unit);
+        arg_confirm_spawn = mfree(arg_confirm_spawn);
+        arg_join_controllers = strv_free_free(arg_join_controllers);
+        arg_default_environment = strv_free(arg_default_environment);
+        arg_syscall_archs = set_free(arg_syscall_archs);
+}
+
 int main(int argc, char *argv[]) {
         Manager *m = NULL;
         int r, retval = EXIT_FAILURE;
@@ -1920,7 +1935,6 @@ int main(int argc, char *argv[]) {
         dual_timestamp security_finish_timestamp = DUAL_TIMESTAMP_NULL;
         static char systemd[] = "systemd";
         bool skip_setup = false;
-        unsigned j;
         bool loaded_policy = false;
         bool queue_default_job = false;
         bool first_boot = false;
@@ -2374,15 +2388,7 @@ finish:
 
         m = manager_free(m);
 
-        for (j = 0; j < ELEMENTSOF(arg_default_rlimit); j++)
-                arg_default_rlimit[j] = mfree(arg_default_rlimit[j]);
-
-        arg_default_unit = mfree(arg_default_unit);
-        arg_confirm_spawn = mfree(arg_confirm_spawn);
-        arg_join_controllers = strv_free_free(arg_join_controllers);
-        arg_default_environment = strv_free(arg_default_environment);
-        arg_syscall_archs = set_free(arg_syscall_archs);
-
+        free_arguments();
         mac_selinux_finish();
 
         if (reexecute)