mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 14:48:47 +00:00
encoding/cbor: minor things
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
// Package cbor encodes, decodes, marshals and unmarshals types from/into RCF 8949 compatible CBOR binary.
|
||||||
|
// Also provided are conversion to and from JSON and the CBOR diagnostic format.
|
||||||
|
//
|
||||||
|
// You can additionally provide custom CBOR tag implementations for your use cases.
|
||||||
package cbor
|
package cbor
|
||||||
|
|
||||||
import "core:encoding/json"
|
import "core:encoding/json"
|
||||||
@@ -163,7 +167,7 @@ Decode_Data_Error :: enum {
|
|||||||
Nested_Tag, // When a tag's value is another tag, this is not allowed.
|
Nested_Tag, // When a tag's value is another tag, this is not allowed.
|
||||||
Length_Too_Big, // When the length of a container (map, array, bytes, string) is more than `max(int)`.
|
Length_Too_Big, // When the length of a container (map, array, bytes, string) is more than `max(int)`.
|
||||||
Disallowed_Streaming, // When the `.Disallow_Streaming` flag is set and a streaming header is encountered.
|
Disallowed_Streaming, // When the `.Disallow_Streaming` flag is set and a streaming header is encountered.
|
||||||
Break,
|
Break, // When the `break` header was found without any stream to break off.
|
||||||
}
|
}
|
||||||
|
|
||||||
Encode_Data_Error :: enum {
|
Encode_Data_Error :: enum {
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ tag_register_number :: proc(impl: Tag_Implementation, nr: Tag_Number, id: string
|
|||||||
|
|
||||||
// Controls initialization of default tag implementations.
|
// Controls initialization of default tag implementations.
|
||||||
// JS and WASI default to a panic allocator so we don't want to do it on those.
|
// JS and WASI default to a panic allocator so we don't want to do it on those.
|
||||||
INITIALIZE_DEFAULT_TAGS :: #config(CBOR_INITIALIZE_DEFAULT_TAGS, ODIN_OS != .JS && ODIN_OS != .WASI)
|
INITIALIZE_DEFAULT_TAGS :: #config(CBOR_INITIALIZE_DEFAULT_TAGS, !ODIN_DEFAULT_TO_NIL_ALLOCATOR && ODIN_OS != .JS && ODIN_OS != .WASI)
|
||||||
|
|
||||||
@(private, init, disabled=!INITIALIZE_DEFAULT_TAGS)
|
@(private, init, disabled=!INITIALIZE_DEFAULT_TAGS)
|
||||||
tags_initialize_defaults :: proc() {
|
tags_initialize_defaults :: proc() {
|
||||||
|
|||||||
@@ -686,8 +686,6 @@ _unmarshal_map :: proc(d: Decoder, v: any, ti: ^reflect.Type_Info, hdr: Header,
|
|||||||
return _unsupported(v, hdr)
|
return _unsupported(v, hdr)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: shrink excess.
|
|
||||||
|
|
||||||
raw_map := (^mem.Raw_Map)(v.data)
|
raw_map := (^mem.Raw_Map)(v.data)
|
||||||
if raw_map.allocator.procedure == nil {
|
if raw_map.allocator.procedure == nil {
|
||||||
raw_map.allocator = context.allocator
|
raw_map.allocator = context.allocator
|
||||||
|
|||||||
Reference in New Issue
Block a user