From 95a695e4cda01c8c1b12eb799c0bde8b3a282f4d Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 14 Jul 2024 22:23:46 +0100 Subject: [PATCH] Fix #3926 --- core/encoding/ini/ini.odin | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/core/encoding/ini/ini.odin b/core/encoding/ini/ini.odin index 91a1adcf7..a63564220 100644 --- a/core/encoding/ini/ini.odin +++ b/core/encoding/ini/ini.odin @@ -82,14 +82,16 @@ Map :: distinct map[string]map[string]string load_map_from_string :: proc(src: string, allocator: runtime.Allocator, options := DEFAULT_OPTIONS) -> (m: Map, err: runtime.Allocator_Error) { unquote :: proc(val: string) -> (string, runtime.Allocator_Error) { - v, allocated, ok := strconv.unquote_string(val) - if !ok { - return strings.clone(val) + if strings.has_prefix(val, `"`) || strings.has_prefix(val, `'`) { + v, allocated, ok := strconv.unquote_string(val) + if !ok { + return strings.clone(val) + } + if allocated { + return v, nil + } } - if allocated { - return v, nil - } - return strings.clone(v) + return strings.clone(val) }