From 447a889559bd7939e2ac63fd64eaef11b1367ac4 Mon Sep 17 00:00:00 2001 From: Ian den Hartog Date: Wed, 26 Mar 2025 19:24:31 +0100 Subject: [PATCH] fix: add ( and ) to escape characters when dropping files in gtk --- src/os/shell.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/os/shell.zig b/src/os/shell.zig index 23648a82a..7ae5c4857 100644 --- a/src/os/shell.zig +++ b/src/os/shell.zig @@ -23,6 +23,8 @@ pub fn ShellEscapeWriter(comptime T: type) type { '?', ' ', '|', + '(', + ')', => &[_]u8{ '\\', byte }, else => &[_]u8{byte}, }; @@ -93,3 +95,12 @@ test "shell escape 6" { try writer.writeAll("a\"c"); try testing.expectEqualStrings("a\\\"c", fmt.getWritten()); } + +test "shell escape 7" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a(1)"); + try testing.expectEqualStrings("a\(1\)", fmt.getWritten()); +}