php-gettext classes (http://savannah.nongnu.org/projects/php-gettext)
extract four bytes from gettext translation header, convert them to
integer and use it to detect byteorder.

classes compare
(int) ((222) | (18<<8) | (4<<16) | (149<<24)) with (int)0x950412de
and
(int) ((149) | (4<<8) | (18<<16) | (222<<24)) with (int)0xde120495

they work with php versions older than 5.0.2.

I don't know if it is a bug. I think this is only undocumented change in
php behavior. Or I missed some docs.

If you are planning to keep such php behavior, just close
http://bugs.php.net/bug.php?id=30315. I think, I've already fixed
php-gettext scripts and they will work until you decide to stop
overflowing in (int) ((222) | (18<<8) | (4<<16) | (149<<24)). If you are
not planning to keep such behavior, then you have one bug filed in your
bugtracker.

> Do you consider this a bug? How are you relying on these overflown
> numbers?
>
> Andi
>
>
> At 12:50 PM 10/4/2004 +0200, M. Sokolewicz wrote:
>
>> You might want to ask this on the internals list (cc'd)
>>
>>
>> Tomas Kuliavas wrote:
>>
>>> When php 5.0.2 converts float to integer, it uses biggest possible
>>> integer value. Other php versions overflow and use negalive integers.
>>> How to reproduce it:
>>> echo (int)0xde120495; Expected result (php 5.0.1, 4.3.9 and 4.1.2):
>>> ----------------
>>> -569244523
>>> Actual result (only php 5.0.2):
>>> --------------
>>> 2147483647
>>> Is this a standard behaviour of all future php versions or some error
>>> in php? OS details: Linux Debian Sarge
>>> PHP compilation details (vanilla php-5.0.2.tar.bz2):
>>> ./configure --disable-debug --with-apxs=/somepath/apache/bin/apxs
>>> --prefix=/somepath/php
>>> --with-config-file-path=/somepath/
>>> --with-pcre-regex --enable-mbstring --enable-session --disable-all
>>> --with-gettext=shared,/usr
>>> php.ini details: error_reporting=E_ALL display_errors=on
>>> register_globals=off asp_tags=on short_tags=off Please CC to my email.
>>>

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

Reply via email to