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