ID: 29705 Updated by: [EMAIL PROTECTED] Reported By: andrew at is dot co dot za -Status: Assigned +Status: Closed Bug Type: Feature/Change Request Operating System: FreeBSD 4.6.2-RELEASE-p23 PHP Version: 5.0.0 Assigned To: derick New Comment:
This was already done on August 19th 2004, by Antony in revision 1.685. Previous Comments: ------------------------------------------------------------------------ [2004-08-16 15:22:48] [EMAIL PROTECTED] I agree with that, but: The inet_addr() function converts the Internet host address cp from numbers-and-dots notation into binary data in network byte order. If the input is invalid, INADDR_NONE (usually -1) is returned. This is an obsolete interface to inet_aton, described immediately above; it is obsolete because -1 is a valid address (255.255.255.255), and inet_aton provides a cleaner way to indicate error return. If I find some time I will implement it to use inet_aton if it is supported on the platform. This will "break" BC again though... ------------------------------------------------------------------------ [2004-08-16 15:15:17] [EMAIL PROTECTED] This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. "ip2long() will return -1 (PHP 4) or false (PHP 5) for the IP '255.255.255.255'." But 255.255.255.255 is valid address so this function should return rather 4294967295 (-1 signed) for it IMHO. ------------------------------------------------------------------------ [2004-08-16 14:36:18] [EMAIL PROTECTED] This is correct, it changed from 4.x to 5.0.0 (read the release notes). This should be fixed in the documentation though. ------------------------------------------------------------------------ [2004-08-16 13:14:02] andrew at is dot co dot za Description: ------------ ip2long has been changed to return "false" instead of -1 in the event of a failure, presumably to fix the historical problem of not being able to pass it "255.255.255.255", which is a valid broadcast address that evaluates to -1 when converted. However, ip2long now returns "false" instead of -1 for "255.255.255.255", which contradicts the PHP documentation. Reproduce code: --------------- if (ip2long("255.255.255.255") === false) { echo "Bad"; } else { echo "OK"; } Expected result: ---------------- Displays "Bad" Actual result: -------------- Should display "OK" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29705&edit=1