]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/ustrtrns.cpp
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / common / ustrtrns.cpp
index 57cabd58e2a3b8d95f1ba8a892cb004f1da06484..00a0bfd5eef3d13335868d47bcb86c1c26a48188 100644 (file)
@@ -1,7 +1,7 @@
 /*
 ******************************************************************************
 *
-*   Copyright (C) 2001-2012, International Business Machines
+*   Copyright (C) 2001-2016, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ******************************************************************************
@@ -291,7 +291,8 @@ utf8_nextCharSafeBodyTerminated(const uint8_t **ps, UChar32 c) {
             illegal=1;
             break;
         }
-    case 2: /*fall through*/
+        U_FALLTHROUGH;
+    case 2:
         trail=(uint8_t)(*s++ - 0x80);
         if(trail>0x3f) {
             /* not a trail byte */
@@ -299,7 +300,8 @@ utf8_nextCharSafeBodyTerminated(const uint8_t **ps, UChar32 c) {
             break;
         }
         c=(c<<6)|trail;
-    case 1: /*fall through*/
+        U_FALLTHROUGH;
+    case 1:
         trail=(uint8_t)(*s++ - 0x80);
         if(trail>0x3f) {
             /* not a trail byte */
@@ -362,11 +364,13 @@ utf8_nextCharSafeBodyPointer(const uint8_t **ps, const uint8_t *limit, UChar32 c
                 illegal=1;
                 break;
             }
-        case 2: /*fall through*/
+            U_FALLTHROUGH;
+        case 2:
             trail=*s++;
             c=(c<<6)|(trail&0x3f);
             illegal|=(trail&0xc0)^0x80;
-        case 1: /*fall through*/
+            U_FALLTHROUGH;
+        case 1:
             trail=*s++;
             c=(c<<6)|(trail&0x3f);
             illegal|=(trail&0xc0)^0x80;
@@ -381,7 +385,7 @@ utf8_nextCharSafeBodyPointer(const uint8_t **ps, const uint8_t *limit, UChar32 c
 
     /* correct sequence - all trail bytes have (b7..b6)==(10)? */
     /* illegal is also set if count>=4 */
-    U_ASSERT(count<sizeof(utf8_minLegal)/sizeof(utf8_minLegal[0]));
+    U_ASSERT(illegal || count<UPRV_LENGTHOF(utf8_minLegal));
     if(illegal || c<utf8_minLegal[count] || U_IS_SURROGATE(c)) {
         /* error handling */
         /* don't go beyond this sequence */