]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
xdg-autostart: minor refactoring
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 9 Jul 2021 12:31:04 +0000 (14:31 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 9 Jul 2021 13:07:40 +0000 (15:07 +0200)
We can't say free_and_replace(exec_split[n++], quoted), because the the
argument is evaluated multiple times. But I think that this form is
still easier to read.

src/xdg-autostart-generator/xdg-autostart-service.c

index d6e90302fdc93928f53a39f6096b8745e792591a..f21d3f54b1315288f992de007a55f5ae58706eb3 100644 (file)
@@ -416,8 +416,8 @@ int xdg_autostart_format_exec_start(
                         if (!escaped)
                                 return log_oom();
 
-                        free(exec_split[n]);
-                        exec_split[n++] = TAKE_PTR(escaped);
+                        free_and_replace(exec_split[n], escaped);
+                        n++;
                         continue;
                 }
 
@@ -457,8 +457,8 @@ int xdg_autostart_format_exec_start(
                 if (!quoted)
                         return log_oom();
 
-                free(exec_split[n]);
-                exec_split[n++] = TAKE_PTR(quoted);
+                free_and_replace(exec_split[n], quoted);
+                n++;
         }
         for (; exec_split[n]; n++)
                 exec_split[n] = mfree(exec_split[n]);