aboutsummaryrefslogtreecommitdiff
path: root/src/dom/Element.zig
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2026-04-17 17:33:09 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2026-04-17 17:33:09 +0200
commited1b784ee219853afbfc3bc7880d901948581b6a (patch)
tree0e61caf36f2fd7e28ec4160434a04e4fb80d9883 /src/dom/Element.zig
parent1e9efc4ed7ee8a493d461d28bd282f3deaaa8bd0 (diff)
feat(dom): escape html
Diffstat (limited to 'src/dom/Element.zig')
-rw-r--r--src/dom/Element.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dom/Element.zig b/src/dom/Element.zig
index ed7611c..1922a41 100644
--- a/src/dom/Element.zig
+++ b/src/dom/Element.zig
@@ -1,6 +1,7 @@
const std = @import("std");
const Allocator = std.mem.Allocator;
const eql = std.mem.eql;
+const html = @import("html.zig");
pub const Kind = enum {
void,
@@ -92,8 +93,9 @@ fn renderAttribute(self: *Self, alloc: Allocator) !std.ArrayList(u8) {
while (iter.next()) |it| : (i += 1) {
try acc.appendSlice(alloc, it.key_ptr.*);
try acc.appendSlice(alloc, "=\"");
- // MISSING ESCAPING!!!
- try acc.appendSlice(alloc, it.value_ptr.*);
+ const escape = try html.escape(alloc, it.value_ptr.*);
+ defer alloc.free(escape);
+ try acc.appendSlice(alloc, escape);
try acc.append(alloc, '"');
if (i < iter.len - 1) try acc.append(alloc, ' ');
}