From 8fb300c5c940a65f0ed8146f6f48e0231c077203 Mon Sep 17 00:00:00 2001 From: Kristin Rutenkolk Date: Mon, 28 Oct 2024 22:42:59 +0100 Subject: [PATCH] fix string deserialization for strings in structs --- src/clj/coffi/mem.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/coffi/mem.clj b/src/clj/coffi/mem.clj index 83bccf1..0bfe235 100644 --- a/src/clj/coffi/mem.clj +++ b/src/clj/coffi/mem.clj @@ -1634,7 +1634,7 @@ (defmethod generate-deserialize :coffi.mem/float [_type offset] [`(read-float ~'segment ~offset)]) (defmethod generate-deserialize :coffi.mem/double [_type offset] [`(read-double ~'segment ~offset)]) (defmethod generate-deserialize :coffi.mem/pointer [_type offset] [`(read-address ~'segment ~offset)]) -(defmethod generate-deserialize :coffi.mem/c-string [_type offset] [(list `.getString (list `.reinterpret (with-meta 'segment {:tag 'java.lang.foreign.MemorySegment}) `Integer/MAX_VALUE) 0)]) +(defmethod generate-deserialize :coffi.mem/c-string [_type offset] [(list `.getString (list `.reinterpret (list `.get (with-meta 'segment {:tag 'java.lang.foreign.MemorySegment}) `pointer-layout offset) `Integer/MAX_VALUE) 0)]) (defmethod generate-deserialize :coffi.mem/array [_type offset] (let [outer-code `(let [arr# (~(coffitype->array-fn (second _type)) ~(second (rest _type)))] arr# )