mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 07:08:48 +00:00
Merge pull request #1736 from Kelimion/fix_json_unmarshal
Fix unmarshal for escaped strings.
This commit is contained in:
@@ -281,6 +281,11 @@ parse_object :: proc(p: ^Parser) -> (value: Value, err: Error) {
|
|||||||
|
|
||||||
// IMPORTANT NOTE(bill): unquote_string assumes a mostly valid string
|
// IMPORTANT NOTE(bill): unquote_string assumes a mostly valid string
|
||||||
unquote_string :: proc(token: Token, spec: Specification, allocator := context.allocator) -> (value: string, err: Error) {
|
unquote_string :: proc(token: Token, spec: Specification, allocator := context.allocator) -> (value: string, err: Error) {
|
||||||
|
if allocator.data == nil {
|
||||||
|
// We were called from `unmarshal_count_array`, return early.
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
get_u2_rune :: proc(s: string) -> rune {
|
get_u2_rune :: proc(s: string) -> rune {
|
||||||
if len(s) < 4 || s[0] != '\\' || s[1] != 'x' {
|
if len(s) < 4 || s[0] != '\\' || s[1] != 'x' {
|
||||||
return -1
|
return -1
|
||||||
|
|||||||
Reference in New Issue
Block a user