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: Assigned Type: Bug Package: *Network Functions Operating System: Windows PHP Version: 5.3.7 Assigned To: pajoye Block user comment: N Private report: N New Comment: There is no such function in Windows below Vista or Windows 7. So no, there is no bug here but maybe in the WSAStringToAddress function. Previous Comments: ------------------------------------------------------------------------ [2011-08-23 16:28:56] php at linuxhosted dot ca As we've been saying, the fact that this function uses a Windows specific api is the bug. It should be using inet_ntop/pton like every other OS does. Also, you say that "26" is a valid IP, which is totally wrong, the function considers 26 to be "0.0.0.26", when if it was taking it as a valid ip, it would mean that its "26.0.0.0, take for example, long2ip(ip2long("10.200")); this becomes 10.0.0.200, instead of what it should be, 10.200.0.0. Also, it makes no sense for a function that is not OS specific to have different results on different platforms, PHP is supposed to be multi-platform, so except for functions that are meant to be platform specific , functions shouldn't be giving a totally different result on different platforms, it just makes no sense. ------------------------------------------------------------------------ [2011-08-23 16:16:53] paj...@php.net 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. ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=55472 -- Edit this bug report at https://bugs.php.net/bug.php?id=55472&edit=1