(bug 25920) Moved forward ref to a nested ref to really get v6 regex to compile on...
authorAaron Schulz <aaron@users.mediawiki.org>
Thu, 18 Nov 2010 00:25:58 +0000 (00:25 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Thu, 18 Nov 2010 00:25:58 +0000 (00:25 +0000)
includes/IP.php

index 9aeba39..356c770 100644 (file)
@@ -42,7 +42,7 @@ define( 'RE_IPV6_ADD',
        '|' . // has no "::"
                RE_IPV6_WORD . '(?::' . RE_IPV6_WORD . '){7}' .
        '|' . // contains one "::" in the middle (awkward regex for PCRE 4.0+ compatibility)
-               RE_IPV6_WORD . '(?::(?!(?P=abn))(?P<abn>:(?P<iabn>))?' . RE_IPV6_WORD . '){1,6}(?P=iabn)' .
+               RE_IPV6_WORD . '(?::(?P<abn>(?!(?P=abn)):(?P<iabn>))?' . RE_IPV6_WORD . '){1,6}(?P=iabn)' .
                // NOTE: (?!(?P=abn)) fails iff "::" used twice; (?P=iabn) passes iff a "::" was found.
                
                // Better regexp (PCRE 7.2+ only), allows intuitive regex concatenation