From c5e3c3ffc2a090a4862466838d758b3305daa3bb Mon Sep 17 00:00:00 2001 From: Liangent Date: Sun, 30 Jun 2013 19:51:58 +0000 Subject: [PATCH] Drop a code path in wfBCP47() which is never reached. count( $codeSegment ) > 0 should be never true in a foreach loop of $codeSegment itself. See also Iffe166f3. Change-Id: I453b5ec3379951a2ad6e34b9835907c2eba3046b --- includes/GlobalFunctions.php | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index a44e45b553..4f9347ae29 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -3750,22 +3750,17 @@ function wfBCP47( $code ) { $codeSegment = explode( '-', $code ); $codeBCP = array(); foreach ( $codeSegment as $segNo => $seg ) { - if ( count( $codeSegment ) > 0 ) { - // when previous segment is x, it is a private segment and should be lc - if ( $segNo > 0 && strtolower( $codeSegment[( $segNo - 1 )] ) == 'x' ) { - $codeBCP[$segNo] = strtolower( $seg ); - // ISO 3166 country code - } elseif ( ( strlen( $seg ) == 2 ) && ( $segNo > 0 ) ) { - $codeBCP[$segNo] = strtoupper( $seg ); - // ISO 15924 script code - } elseif ( ( strlen( $seg ) == 4 ) && ( $segNo > 0 ) ) { - $codeBCP[$segNo] = ucfirst( strtolower( $seg ) ); - // Use lowercase for other cases - } else { - $codeBCP[$segNo] = strtolower( $seg ); - } + // when previous segment is x, it is a private segment and should be lc + if ( $segNo > 0 && strtolower( $codeSegment[( $segNo - 1 )] ) == 'x' ) { + $codeBCP[$segNo] = strtolower( $seg ); + // ISO 3166 country code + } elseif ( ( strlen( $seg ) == 2 ) && ( $segNo > 0 ) ) { + $codeBCP[$segNo] = strtoupper( $seg ); + // ISO 15924 script code + } elseif ( ( strlen( $seg ) == 4 ) && ( $segNo > 0 ) ) { + $codeBCP[$segNo] = ucfirst( strtolower( $seg ) ); + // Use lowercase for other cases } else { - // Use lowercase for single segment $codeBCP[$segNo] = strtolower( $seg ); } } -- 2.20.1