On Sunday 21 September 2008 14:00:59 [EMAIL PROTECTED] wrote:

> Log:
> add delete_keyed_int to resizableintegerarray
>
> --- trunk/src/pmc/resizableintegerarray.pmc     (original)
> +++ trunk/src/pmc/resizableintegerarray.pmc     Sun Sep 21 14:00:58 2008
> @@ -206,6 +206,24 @@
>          mem_sys_memmove(data + 1, data, size * sizeof (INTVAL));
>          data[0] = value;
>      }
> +
> +/*
> +
> +=item C<void delete_keyed_int(INTVAL key)>
> +
> +Removes the element at C<key>.
> +
> +=cut
> +
> +*/
> +
> +    VTABLE void delete_keyed_int(INTVAL key) {
> +        INTVAL size = PMC_int_val(SELF);

With the use of the set_integer_native entry later, this should probably be:

        INTVAL size = SELF.get_integer();

> +        INTVAL *data = (INTVAL *)PMC_data(SELF);
> +        mem_sys_memmove(data + key, data + key + 1, (size - key - 1) *
> sizeof (INTVAL));
> +        SELF.set_integer_native(size - 1); 
> +    }

-- c

Reply via email to