Skip to content

Commit b668b29

Browse files
committed
Call CRT.initRuntime in checksum functions
1 parent 6044551 commit b668b29

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

aws-crt-kotlin/native/src/aws/sdk/kotlin/crt/util/hashing/CrcNative.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55
package aws.sdk.kotlin.crt.util.hashing
66

7+
import aws.sdk.kotlin.crt.CRT
78
import kotlinx.cinterop.*
89
import libcrt.aws_checksums_crc32
910
import libcrt.aws_checksums_crc32c
@@ -20,6 +21,10 @@ internal typealias AwsChecksumsCrcFunction = (
2021
) -> uint32_t
2122

2223
internal class Crc(val checksumFn: AwsChecksumsCrcFunction) : HashFunction {
24+
init {
25+
CRT.initRuntime { }
26+
}
27+
2328
private var crc = 0U
2429

2530
override fun update(input: ByteArray, offset: Int, length: Int) {

aws-crt-kotlin/native/src/aws/sdk/kotlin/crt/util/hashing/Md5Native.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package aws.sdk.kotlin.crt.util.hashing
66

77
import aws.sdk.kotlin.crt.Allocator
8+
import aws.sdk.kotlin.crt.CRT
89
import aws.sdk.kotlin.crt.awsAssertOpSuccess
910
import kotlinx.cinterop.addressOf
1011
import kotlinx.cinterop.cValue
@@ -23,6 +24,10 @@ import libcrt.aws_md5_new
2324
* MD5 hash function implemented using bindings to CRT
2425
*/
2526
public class Md5 : HashFunction {
27+
init {
28+
CRT.initRuntime { }
29+
}
30+
2631
private var md5 = checkNotNull(aws_md5_new(Allocator.Default)) { "aws_md5_new" }
2732

2833
override fun update(input: ByteArray, offset: Int, length: Int) {

aws-crt-kotlin/native/src/aws/sdk/kotlin/crt/util/hashing/ShaNative.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package aws.sdk.kotlin.crt.util.hashing
66

77
import aws.sdk.kotlin.crt.Allocator
8+
import aws.sdk.kotlin.crt.CRT
89
import aws.sdk.kotlin.crt.awsAssertOpSuccess
910
import kotlinx.cinterop.*
1011
import libcrt.*
@@ -48,6 +49,7 @@ internal class Sha(val initializeFn: InitializeHashFn) : HashFunction {
4849
private var hash: CPointer<aws_hash>
4950

5051
init {
52+
CRT.initRuntime { }
5153
hash = initializeHash()
5254
}
5355

0 commit comments

Comments
 (0)