mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-24 08:30:36 +00:00
fix[go]: golang adjust padding is not deep clone
This commit is contained in:
@@ -29,11 +29,18 @@ func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteInd
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.SetWriteOffset(currentWriteIndex)
|
||||
} else {
|
||||
} else if padding < 0 {
|
||||
var byteArray = byteBuffer.buffer[(currentWriteIndex - length):currentWriteIndex]
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.WriteUBytes(byteArray)
|
||||
} else {
|
||||
var byteArray = byteBuffer.buffer[(currentWriteIndex - length):currentWriteIndex]
|
||||
var copyBytes = make([]byte, length)
|
||||
copy(copyBytes, byteArray)
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.WriteUBytes(copyBytes)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,11 +29,18 @@ func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteInd
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.SetWriteOffset(currentWriteIndex)
|
||||
} else {
|
||||
} else if padding < 0 {
|
||||
var byteArray = byteBuffer.buffer[(currentWriteIndex - length):currentWriteIndex]
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.WriteUBytes(byteArray)
|
||||
} else {
|
||||
var byteArray = byteBuffer.buffer[(currentWriteIndex - length):currentWriteIndex]
|
||||
var copyBytes = make([]byte, length)
|
||||
copy(copyBytes, byteArray)
|
||||
byteBuffer.SetWriteOffset(beforeWriteIndex)
|
||||
byteBuffer.WriteInt(length)
|
||||
byteBuffer.WriteUBytes(copyBytes)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user