File tree Expand file tree Collapse file tree 2 files changed +17
-6
lines changed Expand file tree Collapse file tree 2 files changed +17
-6
lines changed Original file line number Diff line number Diff line change @@ -22,11 +22,16 @@ import platform.posix.memcpy
22
22
23
23
fun NSData.toByteString (): ByteString {
24
24
val data = this
25
- return ByteString (
26
- ByteArray (data.length.toInt()).apply {
27
- usePinned { pinned ->
28
- memcpy(pinned.addressOf(0 ), data.bytes, data.length)
25
+ val size = data.length.toInt()
26
+ return if (size != 0 ) {
27
+ ByteString (
28
+ ByteArray (size).apply {
29
+ usePinned { pinned ->
30
+ memcpy(pinned.addressOf(0 ), data.bytes, data.length)
31
+ }
29
32
}
30
- }
31
- )
33
+ )
34
+ } else {
35
+ ByteString .EMPTY
36
+ }
32
37
}
Original file line number Diff line number Diff line change @@ -28,4 +28,10 @@ class AppleByteStringTest {
28
28
val byteString = data.toByteString()
29
29
assertEquals(" Hello" , byteString.utf8())
30
30
}
31
+
32
+ @Test fun emptyNsDataToByteString () {
33
+ val data = (" " as NSString ).dataUsingEncoding(NSUTF8StringEncoding ) as NSData
34
+ val byteString = data.toByteString()
35
+ assertEquals(ByteString .EMPTY , byteString)
36
+ }
31
37
}
You can’t perform that action at this time.
0 commit comments