From b5f4782dbf35200b90858eeba291c7518ab9f631 Mon Sep 17 00:00:00 2001 From: theraven Date: Sun, 10 Oct 2010 21:42:03 +0000 Subject: [PATCH] Tidy up the block code slightly. --- blocks_runtime.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/blocks_runtime.m b/blocks_runtime.m index 48a6755..5a315e9 100644 --- a/blocks_runtime.m +++ b/blocks_runtime.m @@ -245,7 +245,6 @@ struct StackBlockClass { void (*copy_helper)(void *dst, void *src); void (*dispose_helper)(void *src); } *descriptor; - const char *types; }; @@ -263,12 +262,15 @@ void *_Block_copy(void *src) if(self->reserved == 0) { ret = malloc(self->descriptor->size); - memcpy(ret, self, self->descriptor->size); if(self->flags & BLOCK_HAS_COPY_DISPOSE) { + memcpy(self, ret, sizeof(struct StackBlockClass)); self->descriptor->copy_helper(ret, self); } - memcpy(self, ret, self->descriptor->size); + else + { + memcpy(self, ret, self->descriptor->size); + } } ret->reserved++; }