Commit Graph

17 Commits

Author SHA1 Message Date
Masaaki Goshima f8fd59516b Fix decoding of deep recursive structure 2021-02-18 19:05:06 +09:00
Masaaki Goshima e09027425c Use pre allocated pointer if exists it 2021-02-17 00:03:07 +09:00
Masaaki Goshima 6befcb123e Fix decoding of interface type 2021-02-09 22:13:58 +09:00
Masaaki Goshima 2a0d4603ea Fix error output by golangci-lint 2021-02-01 22:32:45 +09:00
Masaaki Goshima 1dee747400 Assign nil at null value 2020-12-23 01:29:13 +09:00
Masaaki Goshima 6506007b6c Fix decoding of embeded struct 2020-12-22 21:55:59 +09:00
Masaaki Goshima 7421d82c43 Fix syntax error 2020-11-27 17:11:53 +09:00
Masaaki Goshima 5c82b00ee7 Add structName and fieldName argument to each constructor of decoder for UnmarshalTypeError 2020-11-23 17:16:31 +09:00
Masaaki Goshima fd7a72c0b8 Pass unsafe.Pointer instead of uintptr 2020-11-19 12:47:42 +09:00
Cuong Manh Le 6b1d701387
Fix all invalid usages of unsafe.Pointer
Most of the invalid usages due to the conversion from uintptr to
unsafe.Pointer. In general, unsafe.Pointer(p) where p of type uintptr is
considered unsafe.

To fix that, use &p instead of p, then introduce another dereference.
Example, the invalid usage:

	*(*int)(unsafe.Pointer(p)) = int(v)

wil become:

	**(**int)(unsafe.Pointer(&p)) = int(v)

Closes #53
2020-11-16 20:37:12 +07:00
Masaaki Goshima 27f6c70ab3 Fix DisallowUnknownFields 2020-08-14 17:59:49 +09:00
Masaaki Goshima e112aa753e Support DisallowUnknownFields 2020-08-11 19:05:20 +09:00
Masaaki Goshima 20b67ad48d Support Decoder.Token 2020-07-30 22:41:53 +09:00
Masaaki Goshima 4acc22e0fe Support SyntaxError 2020-05-23 12:51:09 +09:00
Masaaki Goshima f198ef6517 Remove context for decoding 2020-05-07 02:37:29 +09:00
Masaaki Goshima 015eb040ee Add reflect.rtype trick 2020-04-24 20:23:26 +09:00
Masaaki Goshima 508e4e4dcc Refactor decoder 2020-04-24 01:39:20 +09:00