From: David Edmundson Date: Tue, 11 Oct 2022 10:18:13 +0000 (+0100) Subject: xdg-autostart-service: Add comments to tilde expansion, use path_join() X-Git-Tag: v252-rc2~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9739bcfd85119d20867fb2f948807edde8279661;p=thirdparty%2Fsystemd.git xdg-autostart-service: Add comments to tilde expansion, use path_join() Follow-ups for https://github.com/systemd/systemd/pull/24658 --- diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c index 5aa74fe37a4..3905d4bfe19 100644 --- a/src/xdg-autostart-generator/xdg-autostart-service.c +++ b/src/xdg-autostart-generator/xdg-autostart-service.c @@ -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);