diff --git a/src/clj/coffi/mem.clj b/src/clj/coffi/mem.clj index 786c0aa..abafd54 100644 --- a/src/clj/coffi/mem.clj +++ b/src/clj/coffi/mem.clj @@ -1201,11 +1201,15 @@ (defmethod serialize-into ::raw [obj _type segment _session] - (copy-segment segment obj)) + (if (instance? MemorySegment obj) + (copy-segment segment obj) + obj)) (defmethod deserialize-from ::raw [segment _type] - (clone-segment segment)) + (if (instance? MemorySegment segment) + (clone-segment segment) + segment)) ;;; C String type