import Foundation import Postbox import TelegramApi public extension MemoryBuffer { convenience init(_ buffer: Buffer) { let memory = malloc(Int(buffer.size))! memcpy(memory, buffer.data, Int(buffer.size)) self.init(memory: memory, capacity: Int(buffer.size), length: Int(buffer.size), freeWhenDone: true) } } extension Buffer { convenience init(bufferNoCopy: MemoryBuffer) { self.init(memory: bufferNoCopy.memory, size: bufferNoCopy.length, capacity: bufferNoCopy.length, freeWhenDone: false) } convenience init(buffer: MemoryBuffer) { let memory = malloc(buffer.length)! memcpy(memory, buffer.memory, buffer.length) self.init(memory: memory, size: buffer.length, capacity: buffer.length, freeWhenDone: true) } }