ID:               42512
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jr-php2 at quo dot to
-Status:           Assigned
+Status:           Closed
 Bug Type:         Network related
 Operating System: Linux x86-64
 PHP Version:      5.2.4
 Assigned To:      derick
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


Previous Comments:
------------------------------------------------------------------------

[2007-09-01 18:29:38] [EMAIL PROTECTED]

Confirmed, and testing a patch.

------------------------------------------------------------------------

[2007-09-01 18:10:25] jr-php2 at quo dot to

Description:
------------
On 64-bit platforms, ip2long() returns a positive result for IP
addresses >= 128.0.0.0. This is expected.

However, there is *one* case in which it will return a negative result:
when the specified address is 255.255.255.255.

This inconsistency doesn't make sense. Yes, the documentation does say
that ip2long() returns -1 for 255.255.255.255, but that should only be
the case on 32-bit platforms, where all addresses >= 128.0.0.0 return a
negative result.

Reproduce code:
---------------
echo "ip2long('255.255.255.254') = ", ip2long('255.255.255.254'),
"\n";
echo "ip2long('255.255.255.255') = ", ip2long('255.255.255.255'), "\n";

Expected result:
----------------
ip2long('255.255.255.254') = 4294967294
ip2long('255.255.255.255') = 4294967295

Actual result:
--------------
ip2long('255.255.255.254') = 4294967294
ip2long('255.255.255.255') = -1


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=42512&edit=1

Reply via email to