diff --git a/data/LanguageNameSearch.php b/data/LanguageNameSearch.php index 3aa5e7b4..bd8a519f 100644 --- a/data/LanguageNameSearch.php +++ b/data/LanguageNameSearch.php @@ -84,10 +84,18 @@ class LanguageNameSearch { // 224 is the lowest non-overlong-encoded codepoint. $lookingFor = ( $thisValue < 224 ) ? 2 : 3; } + $values[] = $thisValue; if ( count( $values ) === $lookingFor ) { // Refer http://en.wikipedia.org/wiki/UTF-8#Description - $number = ( $lookingFor === 3 ) ? ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ) : ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 ); + if ( $lookingFor === 3 ) { + $number = ( $values[0] % 16 ) * 4096; + $number += ( $values[1] % 64 ) * 64; + $number += $values[2] % 64; + } else { + $number = ( $values[0] % 32 ) * 64; + $number += $values[1] % 64; + } return $number; }