Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Implement copy_to in VMArray.
  • Loading branch information
arnsholt committed Mar 19, 2013
1 parent 3f3c6af commit 2de3300
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/6model/reprs/VMArray.c
Expand Up @@ -218,9 +218,17 @@ static INTVAL elems(PARROT_INTERP, STable *st, void *data) {

/* Copies to the body of one object to another. */
static void copy_to(PARROT_INTERP, STable *st, void *src, void *dest) {
VMArrayBody *src_body = (VMArrayBody *)src;
VMArrayBody *dest_body = (VMArrayBody *)dest;
/* Nothing to do yet. */
VMArrayBody *src_body = (VMArrayBody *) src;
VMArrayBody *dest_body = (VMArrayBody *) dest;
VMArrayREPRData *repr_data = st->REPR_data;
INTVAL elem_size = repr_data->elem_size? repr_data->elem_size/8 : sizeof(void *);
INTVAL bytes = elem_size*src_body->ssize;

dest_body->elems = src_body->elems;
dest_body->start = src_body->start;
dest_body->ssize = src_body->ssize;
dest_body->slots = mem_sys_allocate(bytes);
memcpy(dest_body->slots, src_body->slots, bytes);
}

static void serialize(PARROT_INTERP, STable *st, void *data, SerializationWriter *writer) {
Expand Down

0 comments on commit 2de3300

Please sign in to comment.