Edit report at https://bugs.php.net/bug.php?id=55472&edit=1
ID: 55472 Updated by: paj...@php.net Reported by: php at linuxhosted dot ca Summary: ip2long(integer) returns integer Status: Open Type: Bug Package: *Network Functions Operating System: Windows PHP Version: 5.3.7 -Assigned To: +Assigned To: pajoye Block user comment: N Private report: N New Comment: It is as it can be considered as valid IP and it is what happens on Windows, using the underlying equivalent API. That being said, I will double check again with the inent team at msft to be sure that there is no bug in the API itself. assigned to me. Previous Comments: ------------------------------------------------------------------------ [2011-08-23 16:09:32] php at linuxhosted dot ca pajoye, this is not a documentation bug ------------------------------------------------------------------------ [2011-08-23 15:10:29] php at linuxhosted dot ca As kalle has said, this is not a documentation bug. The inet_ntop() and inet_pton() functions have existed on Windows since 5.3 ------------------------------------------------------------------------ [2011-08-22 13:55:44] ka...@php.net (Ignore the assigned status laruence, just to notify you) We do have inet_ntop() + inet_pton() on Windows, see win32/inet.c which we implemented in 5.3 so if thats the case that we fall back to inet_addr() on Windows its a bug as they are natively implemented. After it might be worth setting this bug to "To be documented" so the behaviour can indeed be noted if not already in the manual. ------------------------------------------------------------------------ [2011-08-21 10:10:40] larue...@php.net in the OS without inet_ntop, php ip2long use inet_addr handle the conversion, obviously there are difference between these two function when meet a not well- format numbers-and-dots notation. http://www.kernel.org/doc/man-pages/online/pages/man3/inet_pton.3.html http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr. htm maybe the document should be more clearly to explain the difference? ------------------------------------------------------------------------ [2011-08-21 03:09:36] php at linuxhosted dot ca Description: ------------ On windows, the ip2long function does not return false on an invalid input, on other operating systems it properly returns false. Test script: --------------- var_dump(ip2long(26)); Expected result: ---------------- bool(false) Actual result: -------------- int(26) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55472&edit=1