> From: Sascha Schumann [mailto:[EMAIL PROTECTED]] 
> 
> > iirc the reason why i changed it to unsigned was that 
> actually the zend engine
> > treated it as unsigned everywhere but in that particular 
> struct. i also
> > remember that i discussed that with andi and that he agreed 
> to change this in
> > the ze2 cvs module and that the extensions should be *fixed*.
> 
>     Well, fixing the engine is a small, finite task whereas
>     auditing all existing extension on this planet is an
>     open-ended one.  I think it is easy to see that.

you're propably a bit too optimistic, i can hardly imagine that all existing
extensions all over the world compile out of the box against ZE2. i guess only
a handful do this.

>     You need to realize that once a certain API has been
>     established, you cannot go around and change it at will.
>     Especially if the breakage is as subtle as in this case.  If
>     the compiler dies, because a function takes a new number of
>     arguments, it is something which becomes visible immediately.
>     Signedness issues are usually hidden until someone exploits
>     them.

the only thing that should be realized is that compiler warnings are still a
bad thing(tm). i don't see any difference in this compared to changing the
number of arguments of a function.

> 
> > i agree that it
> > doesn't make any sense to mix types. changing it to uint 
> means to fix all the
> > extensions, changing it to int means to fix the engine (and 
> not just to revert
> > my patch).
> 
>     In which areas of the engine did you notice defects?  If we
>     had a list, we could start from there.

hmm, that patch is quite old, i can't remember very well. iirc almost
everywhere, but i have to look at my commit again.

harald.


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

Reply via email to