cli: automatically enclose parameters in double quotes

This commit is contained in:
Yi Ming
2024-11-08 15:18:31 +08:00
parent 721e1e391e
commit ea0d6be1db

View File

@ -2755,9 +2755,14 @@ pub fn parseManuallyHook(
var command = std.ArrayList(u8).init(alloc); var command = std.ArrayList(u8).init(alloc);
errdefer command.deinit(); errdefer command.deinit();
// Parameters following `-e` must be enclosed in double quotes
// to prevent arguments with spaces from being treated
// as two separate parameters.
while (iter.next()) |param| { while (iter.next()) |param| {
try self._replay_steps.append(alloc, .{ .arg = try alloc.dupe(u8, param) }); try self._replay_steps.append(alloc, .{ .arg = try alloc.dupe(u8, param) });
try command.append('"');
try command.appendSlice(param); try command.appendSlice(param);
try command.append('"');
try command.append(' '); try command.append(' ');
} }