RE: [PHP-DEV] Re: php4 /ext/standard file.c formatted_print.c
| From: | Harald Radi | Date: | Wed, 15 Jan 2003 19:31:34 +0000 |
| Subject: | RE: [PHP-DEV] Re: php4 /ext/standard file.c formatted_print.c | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-93501@lists.php.net to get a copy of this message | ||
> From: Sascha Schumann [mailto:sascha@schumann.cx]
>
> > 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.