]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
xdg-autostart-service: Add comments to tilde expansion, use path_join()
authorDavid Edmundson <kde@davidedmundson.co.uk>
Tue, 11 Oct 2022 10:18:13 +0000 (11:18 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 17 Oct 2022 14:42:39 +0000 (16:42 +0200)
Follow-ups for https://github.com/systemd/systemd/pull/24658

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

index 5aa74fe37a4cc51f3733f357adf3b9b4e3d6dbf1..3905d4bfe1955d12e4bcf843bab42d620c98dc68 100644 (file)
@@ -443,7 +443,10 @@ int xdg_autostart_format_exec_start(
                         return log_oom();
 
                 /*
-                 * Expand ~ if it comes at the beginning of an argument to form a path
+                 * Expand ~ if it comes at the beginning of an argument to form a path.
+                 *
+                 * The specification does not mandate this, but we do it anyway for compatibility with
+                 * older KDE code, which supported a more shell-like syntax for users making custom entries.
                  */
                 if (percent[0] == '~' && (isempty(percent + 1) || path_is_absolute(percent + 1))) {
                         _cleanup_free_ char *home = NULL;
@@ -452,7 +455,7 @@ int xdg_autostart_format_exec_start(
                         if (r < 0)
                                 return r;
 
-                        tilde_expanded = strjoin(home, &percent[1]);
+                        tilde_expanded = path_join(home, &percent[1]);
                         if (!tilde_expanded)
                                 return log_oom();
                         free_and_replace(exec_split[n++], tilde_expanded);