修复codec 编码库json解析错误
This commit is contained in:
parent
f8653cdd3d
commit
928f2ccc11
@ -163,8 +163,9 @@ func ReadUint32ForString(buf []byte) (ret uint32, n int, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
ret = uint32(ind)
|
ret = uint32(ind)
|
||||||
|
n = 1
|
||||||
if len(buf) > 10 {
|
if len(buf) > 10 {
|
||||||
i := 0
|
i := 1
|
||||||
ind2 := intDigits[buf[i]]
|
ind2 := intDigits[buf[i]]
|
||||||
if ind2 == invalidCharForNumber {
|
if ind2 == invalidCharForNumber {
|
||||||
n = i
|
n = i
|
||||||
@ -228,7 +229,7 @@ func ReadUint32ForString(buf []byte) (ret uint32, n int, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i := 1; i < len(buf); i++ {
|
for i := n; i < len(buf); i++ {
|
||||||
ind = intDigits[buf[i]]
|
ind = intDigits[buf[i]]
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
n = i
|
n = i
|
||||||
@ -260,6 +261,7 @@ func ReadUint64ForString(buf []byte) (ret uint64, n int, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
ret = uint64(ind)
|
ret = uint64(ind)
|
||||||
|
n = 1
|
||||||
if len(buf) > 10 {
|
if len(buf) > 10 {
|
||||||
i := 0
|
i := 0
|
||||||
ind2 := intDigits[buf[i]]
|
ind2 := intDigits[buf[i]]
|
||||||
@ -325,7 +327,7 @@ func ReadUint64ForString(buf []byte) (ret uint64, n int, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i := 1; i < len(buf); i++ {
|
for i := n; i < len(buf); i++ {
|
||||||
ind = intDigits[buf[i]]
|
ind = intDigits[buf[i]]
|
||||||
if ind == invalidCharForNumber {
|
if ind == invalidCharForNumber {
|
||||||
n = i
|
n = i
|
||||||
|
@ -411,7 +411,10 @@ func (this *MCompModel) GetList(uid string, data interface{}) (err error) {
|
|||||||
elemPtr = sliceType.UnsafeGetIndex(dptr, n)
|
elemPtr = sliceType.UnsafeGetIndex(dptr, n)
|
||||||
if *((*unsafe.Pointer)(elemPtr)) == nil {
|
if *((*unsafe.Pointer)(elemPtr)) == nil {
|
||||||
newPtr := sliceelemType.UnsafeNew()
|
newPtr := sliceelemType.UnsafeNew()
|
||||||
decoder.DecodeForMapJson(newPtr, v)
|
if err = decoder.DecodeForMapJson(newPtr, v); err != nil {
|
||||||
|
log.Errorf("err:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
*((*unsafe.Pointer)(elemPtr)) = newPtr
|
*((*unsafe.Pointer)(elemPtr)) = newPtr
|
||||||
} else {
|
} else {
|
||||||
decoder.DecodeForMapJson(*((*unsafe.Pointer)(elemPtr)), v)
|
decoder.DecodeForMapJson(*((*unsafe.Pointer)(elemPtr)), v)
|
||||||
|
Loading…
Reference in New Issue
Block a user