diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-04-17 17:33:09 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-04-17 17:33:09 +0200 |
| commit | ed1b784ee219853afbfc3bc7880d901948581b6a (patch) | |
| tree | 0e61caf36f2fd7e28ec4160434a04e4fb80d9883 /src/dom/Element.zig | |
| parent | 1e9efc4ed7ee8a493d461d28bd282f3deaaa8bd0 (diff) | |
feat(dom): escape html
Diffstat (limited to 'src/dom/Element.zig')
| -rw-r--r-- | src/dom/Element.zig | 6 |
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, ' '); } |
