|
|
@@ -416,16 +416,11 @@ func (codec *base64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
|
|
}
|
|
|
switch iter.WhatIsNext() {
|
|
|
case StringValue:
|
|
|
- encoding := base64.StdEncoding
|
|
|
- src := iter.SkipAndReturnBytes()
|
|
|
- src = src[1 : len(src)-1]
|
|
|
- decodedLen := encoding.DecodedLen(len(src))
|
|
|
- dst := make([]byte, decodedLen)
|
|
|
- len, err := encoding.Decode(dst, src)
|
|
|
+ src := iter.ReadString()
|
|
|
+ dst, err := base64.StdEncoding.DecodeString(src)
|
|
|
if err != nil {
|
|
|
iter.ReportError("decode base64", err.Error())
|
|
|
} else {
|
|
|
- dst = dst[:len]
|
|
|
codec.sliceType.UnsafeSet(ptr, unsafe.Pointer(&dst))
|
|
|
}
|
|
|
case ArrayValue:
|