From b9a79ec20cce241bfb771cfb6bf9721adbecb77f Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Thu, 4 Dec 2025 15:14:41 +0100 Subject: [PATCH] axnode: replace whitespaces with single space --- src/cdp/AXNode.zig | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/cdp/AXNode.zig b/src/cdp/AXNode.zig index 575dad4a..69f29ac2 100644 --- a/src/cdp/AXNode.zig +++ b/src/cdp/AXNode.zig @@ -572,7 +572,30 @@ fn writeName(axnode: AXNode, w: anytype) !?AXSource { => {}, else => { if (parser.nodeTextContent(node)) |content| { - try w.write(content); + if (!std.unicode.utf8ValidateSlice(content)) { + return error.InvalidUTF8String; + } + + // replace white spaces with single space. + try w.beginWriteRaw(); + try w.writer.writeByte('\"'); + var prev_white = false; + for (content) |c| { + if (std.ascii.isWhitespace(c)) { + if (prev_white) { + continue; + } + prev_white = true; + try w.writer.writeByte(' '); + } else { + prev_white = false; + try w.writer.writeByte(c); + } + } + prev_white = false; + try w.writer.writeByte('\"'); + w.endWriteRaw(); + return .contents; } },