From b19b89374dc65b3599e84ef2d6b7d21e79d5af37 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Mon, 5 Aug 2013 06:37:50 +0200 Subject: [PATCH] Refactor getCodepoint() to more consistently handle return values Change-Id: Ida90e6c78be41e8527eaefd14feb45c57413945e --- data/LanguageNameSearch.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/data/LanguageNameSearch.php b/data/LanguageNameSearch.php index bd8a519f..da1c76bb 100644 --- a/data/LanguageNameSearch.php +++ b/data/LanguageNameSearch.php @@ -75,11 +75,16 @@ class LanguageNameSearch { $values = array(); $lookingFor = 1; $strLen = strlen( $str ); + $number = 0; + for ( $i = 0; $i < $strLen; $i++ ) { $thisValue = ord( $str[$i] ); if ( $thisValue < 128 ) { - return $thisValue; - } else { // Codepoints larger than 127 are represented by multi-byte sequences + $number = $thisValue; + + break; + } else { + // Codepoints larger than 127 are represented by multi-byte sequences if ( count( $values ) === 0 ) { // 224 is the lowest non-overlong-encoded codepoint. $lookingFor = ( $thisValue < 224 ) ? 2 : 3; @@ -97,10 +102,12 @@ class LanguageNameSearch { $number += $values[1] % 64; } - return $number; + break; } } } + + return $number; } /**