selection: escape quotes in file names being DnD:ed on the command line

Closes #2363
This commit is contained in:
Daniel Eklöf 2026-06-12 18:49:48 +02:00
parent 8b047852f3
commit ca73ec71d5
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 12 additions and 1 deletions

View file

@ -2098,7 +2098,16 @@ decode_one_uri(struct clipboard_receive *ctx, char *uri, size_t len)
if (ctx->quote_paths)
ctx->cb("'", 1, ctx->user);
ctx->cb(path, strlen(path), ctx->user);
char *path_remaining = path;
for (char *next_quote = strchr(path_remaining, '\'');
next_quote != NULL;
path_remaining = next_quote + 1,
next_quote = strchr(path_remaining, '\''))
{
ctx->cb(path_remaining, next_quote - path_remaining, ctx->user);
ctx->cb("\\'", 2, ctx->user);
}
ctx->cb(path_remaining, strlen(path_remaining), ctx->user);
if (ctx->quote_paths)
ctx->cb("'", 1, ctx->user);