Browse Source

encoding/cbor: minor things

Laytan Laats 1 year ago
parent
commit
7283b5e75c
3 changed files with 6 additions and 4 deletions
  1. 5 1
      core/encoding/cbor/cbor.odin
  2. 1 1
      core/encoding/cbor/tags.odin
  3. 0 2
      core/encoding/cbor/unmarshal.odin

+ 5 - 1
core/encoding/cbor/cbor.odin

@@ -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
 
 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.
 	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.
-	Break,
+	Break,                    // When the `break` header was found without any stream to break off.
 }
 
 Encode_Data_Error :: enum {

+ 1 - 1
core/encoding/cbor/tags.odin

@@ -89,7 +89,7 @@ tag_register_number :: proc(impl: Tag_Implementation, nr: Tag_Number, id: string
 
 // Controls initialization of default tag implementations.
 // 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)
 tags_initialize_defaults :: proc() {

+ 0 - 2
core/encoding/cbor/unmarshal.odin

@@ -686,8 +686,6 @@ _unmarshal_map :: proc(d: Decoder, v: any, ti: ^reflect.Type_Info, hdr: Header,
 			return _unsupported(v, hdr)
 		}
 
-		// TODO: shrink excess.
-
 		raw_map := (^mem.Raw_Map)(v.data)
 		if raw_map.allocator.procedure == nil {
 			raw_map.allocator = context.allocator