Psa-related fixes

This commit is contained in:
Ali
2020-04-25 18:00:03 +04:00
parent 049cba24bf
commit e43dcbfaca
19 changed files with 93 additions and 45 deletions

View File

@@ -1561,13 +1561,16 @@ final class MessageHistoryTable: Table {
var forwardInfoFlags: Int8 = 1
if forwardInfo.sourceId != nil {
forwardInfoFlags |= 2
forwardInfoFlags |= 1 << 1
}
if forwardInfo.sourceMessageId != nil {
forwardInfoFlags |= 4
forwardInfoFlags |= 1 << 2
}
if forwardInfo.authorSignature != nil {
forwardInfoFlags |= 8
forwardInfoFlags |= 1 << 3
}
if forwardInfo.psaType != nil {
forwardInfoFlags |= 1 << 4
}
sharedBuffer.write(&forwardInfoFlags, offset: 0, length: 1)
var forwardAuthorId: Int64 = forwardInfo.authorId?.toInt64() ?? 0
@@ -1599,6 +1602,17 @@ final class MessageHistoryTable: Table {
sharedBuffer.write(&length, offset: 0, length: 4)
}
}
if let psaType = forwardInfo.psaType {
if let data = psaType.data(using: .utf8, allowLossyConversion: true) {
var length: Int32 = Int32(data.count)
sharedBuffer.write(&length, offset: 0, length: 4)
sharedBuffer.write(data)
} else {
var length: Int32 = 0
sharedBuffer.write(&length, offset: 0, length: 4)
}
}
} else {
var forwardInfoFlags: Int8 = 0
sharedBuffer.write(&forwardInfoFlags, offset: 0, length: 1)