Merge "Add method parameter type documentation"
[lhc/web/wiklou.git] / includes / IP.php
index 1e0a4f9..fc76310 100644 (file)
@@ -212,7 +212,7 @@ class IP {
                                        $longest = $match;
                                        $longestPos = $pos;
                                }
-                               $offset += ( $pos + strlen( $match ) ); // advance
+                               $offset = ( $pos + strlen( $match ) ); // advance
                        }
                        if ( $longest !== false ) {
                                // Replace this portion of the string with the '::' abbreviation
@@ -492,6 +492,11 @@ class IP {
                        $n = ip2long( $ip );
                        if ( $n < 0 ) {
                                $n += pow( 2, 32 );
+                               # On 32-bit platforms (and on Windows), 2^32 does not fit into an int,
+                               # so $n becomes a float. We convert it to string instead.
+                               if ( is_float( $n ) ) {
+                                       $n = (string)$n;
+                               }
                        }
                }
                return $n;