summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Meissner <wmeissner@gmail.com>2012-03-02 21:34:59 +1000
committerWayne Meissner <wmeissner@gmail.com>2012-03-02 21:34:59 +1000
commit380bc4dfa81c31180344475467efe4e70186f046 (patch)
tree7cbdec3101a00c98f02a6afe1024e0876cda8f05
parent6a23b510f8fb5d262ee970427cd082b365adbf9a (diff)
downloadffi-380bc4dfa81c31180344475467efe4e70186f046.tar.gz
Use rbffi_MemoryPointer_NewInstance directly in Struct#initialize_copy
-rw-r--r--ext/ffi_c/Struct.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/ext/ffi_c/Struct.c b/ext/ffi_c/Struct.c
index 10c63a8..6447a7d 100644
--- a/ext/ffi_c/Struct.c
+++ b/ext/ffi_c/Struct.c
@@ -146,10 +146,7 @@ struct_initialize_copy(VALUE self, VALUE other)
// be longer than just this struct.
//
if (src->pointer->address != NULL) {
- memargs[0] = INT2FIX(1);
- memargs[1] = INT2FIX(src->layout->size);
- memargs[2] = Qfalse;
- dst->rbPointer = rb_class_new_instance(2, memargs, rbffi_MemoryPointerClass);
+ dst->rbPointer = rbffi_MemoryPointer_NewInstance(1, src->layout->size, false);
dst->pointer = MEMORY(dst->rbPointer);
memcpy(dst->pointer->address, src->pointer->address, src->layout->size);
} else {