Bug #16020 Updated: long2ip Returns Incorrect Results
| From: | sander@php.net | Date: | Tue, 12 Mar 2002 13:58:06 +0000 |
| Subject: | Bug #16020 Updated: long2ip Returns Incorrect Results | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-2306@lists.php.net to get a copy of this message | ||
ID: 16020
Updated by: sander@php.net
Reported By: lee@nerds.org.uk
-Status: Open
+Status: Feedback
Bug Type: Unknown/Other Function
Operating System: FreeBSD 4.4-STABLE i386
PHP Version: 4.1.2
New Comment:
Can you provide a simple sample script with data that shows the
problem?
Previous Comments:
------------------------------------------------------------------------
[2002-03-12 08:47:38] lee@nerds.org.uk
I have found some problems where long2ip (and I would presume ip2long
by the same token) seems to return an IP address offset by one. I'm
not sure if it is the implmentation of inet_ntoa on the platform I am
using or something else.
Even if this is a problem with a particular version of a library on my
machine, maybe it might be worth using a method other than inet_ntoa
for ease of platform independance?
Perhaps something along there lines.... ?
struct inet4addr {
unsigned int a:8;
unsigned int b:8;
unsigned int c:8;
unsigned int d:8;
};
typedef union {
unsigned int inet4dec;
struct inet4addr inet4oct;
} inet4oct;
blah.inet4dec = <SOME LONG IP HERE>;
printf("%i.%i.%i.%i\n", blah.inet4oct.a,
blah.inet4oct.b,blah.inet4oct.c,blah.inet4oct.d);
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16020&edit=1