Hi,

Em Sáb, 2009-01-03 às 11:20 -0800, shire escreveu:
> Felipe Pena wrote:
> > Em Sáb, 2009-01-03 às 10:31 -0200, Felipe Pena escreveu:
> >> Em Sáb, 2009-01-03 às 10:27 -0200, Felipe Pena escreveu:
> >>> Em Sex, 2009-01-02 às 21:03 -0800, shire escreveu:
> >>>> I've created a patch for bug #46701 
> >>>> (http://bugs.php.net/bug.php?id=46701) but it requires Zend changes, it 
> >>>> can be found at the links below for all branches.  I've verified all 
> >>>> tests pass.  We may want to verify it for other architectures due to the 
> >>>> nature of it being a float conversion problem, I tested on Intel OS X 
> >>>> 10.5.5.  But this should at least be equivalent to 
> >>>> $array[intval($double)] now.
> >>>>
> >>>>
> >>>> http://tekrat.com/patches/bug46701.php6.patch
> >>>> http://tekrat.com/patches/bug46701.php53.patch
> >>>> http://tekrat.com/patches/bug46701.php52.patch
> >>>>
> >>>>
> >>> I suppose that should we also change the fetch (ZEND_FETCH_DIM_*)?
> >>>
> >>> And probably:
> >>>           case IS_DOUBLE:
> >>>                   index = (long)Z_DVAL_P(dim);
> >>>                   goto num_index;
> >>>
> >>> And zend_execute.c (zend_fetch_dimension_address_inner) will be
> >>> superfluous with this change.
> >> Errr, I mean, the case IS_DOUBLE stuff in
> >> zend_fetch_dimension_address_inner will be superfluous.
> >>
> >
> >
> > In the end, I see that it requires the macro too, hehe.
> > So, a little change in your patch:
> >
> > -           case IS_DOUBLE:
> > -                   index = (long)Z_DVAL_P(dim);
> > +           case IS_DOUBLE: {
> > +                   DVAL_TO_LVAL(Z_DVAL_P(dim), index);
> >                     goto num_index;
> > -
> > +           }
> >
> 
> Hey, Good point Felipe, thanks!  I've updated my  patches as well to include 
> this change and verified all the tests.
> 

I've committed it in 5_3 and HEAD. Ilia, should it be in 5_2 too?

Thanks for the patch, Shire. ;)

-- 
Regards,
Felipe Pena


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to