remove_breakpoint (Debugger)

    /*
     *   call-seq:
     *      Debugger.remove_breakpoint(id) -> breakpoint
     *
     *   Removes breakpoint by its id.
     *   <i>id</i> is an identificator of a breakpoint.
     */
    static VALUE
    debug_remove_breakpoint(VALUE self, VALUE id_value)
    {
        int i;
        int id;
        VALUE breakpoint;
        debug_breakpoint_t *debug_breakpoint;

        id = FIX2INT(id_value);

        for( i = 0; i < RARRAY(breakpoints)->len; i += 1 )
        {
            breakpoint = rb_ary_entry(breakpoints, i);
            Data_Get_Struct(breakpoint, debug_breakpoint_t, debug_breakpoint);
            if(debug_breakpoint->id == id)
            {
                rb_ary_delete_at(breakpoints, i);
                return breakpoint;
            }
        }
        return Qnil;
    }