Ticket #31328: 31328.patch
File 31328.patch, 1.2 KB (added by , 9 years ago) |
---|
-
src/wp-includes/formatting.php
785 785 $unicode .= chr($value); 786 786 $unicode_length++; 787 787 } else { 788 if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3; 788 if ( count( $values ) == 0 ) { 789 if ( $value < 224 ) { 790 $num_octets = 2; 791 } elseif ( $value < 240 ) { 792 $num_octets = 3; 793 } else { 794 $num_octets = 4; 795 } 796 } 789 797 790 798 $values[] = $value; 791 799 … … 792 800 if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length ) 793 801 break; 794 802 if ( count( $values ) == $num_octets ) { 795 if ($num_octets == 3) { 796 $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]); 797 $unicode_length += 9; 798 } else { 799 $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]); 800 $unicode_length += 6; 803 for ( $j = 0; $j < $num_octets; $j++ ) { 804 $unicode .= '%' . dechex( $values[ $j ] ); 801 805 } 802 806 807 $unicode_length += $num_octets * 3; 808 803 809 $values = array(); 804 810 $num_octets = 1; 805 811 }