aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authordozn <andymrsimmons@gmail.com>2025-12-30 17:02:06 -0800
committerdozn <andymrsimmons@gmail.com>2025-12-30 17:02:06 -0800
commit589dbbddd20f444786e1d71258faf2f692450c49 (patch)
treedf9406b2cdff22120cd4aca1ed769c4ce0c21153 /core
parent107104ab4b199867bcf1c0404c82ec0d18cbc71d (diff)
[encoding/json] Fix Escapes When Marshalling
Fixes https://github.com/odin-lang/Odin/issues/6060 and https://github.com/odin-lang/Odin/issues/6075 The boolean "true" was setting `html_safe` instead of `for_json`. Chalk one up for the "use enums instead of booleans" crowd.
Diffstat (limited to 'core')
-rw-r--r--core/encoding/json/marshal.odin6
1 files changed, 3 insertions, 3 deletions
diff --git a/core/encoding/json/marshal.odin b/core/encoding/json/marshal.odin
index acf12331a..c4e348aa8 100644
--- a/core/encoding/json/marshal.odin
+++ b/core/encoding/json/marshal.odin
@@ -122,9 +122,9 @@ marshal_to_writer :: proc(w: io.Writer, v: any, opt: ^Marshal_Options) -> (err:
case runtime.Type_Info_Rune:
r := a.(rune)
- io.write_byte(w, '"') or_return
- io.write_escaped_rune(w, r, '"', true) or_return
- io.write_byte(w, '"') or_return
+ io.write_byte(w, '"') or_return
+ io.write_escaped_rune(w, r, '"', for_json = true) or_return
+ io.write_byte(w, '"') or_return
case runtime.Type_Info_Float:
switch f in a {