Get rid of some sizeof() calculations.

Use range-based for-loops instead.

Change-Id: I206dc40f04189465eee7e5a9ca0babdb26b821e3
Reviewed-on: https://pdfium-review.googlesource.com/c/46524
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcodec/codec/fx_codec_jpx_unittest.cpp b/core/fxcodec/codec/fx_codec_jpx_unittest.cpp
index 1bd368e..f83c463 100644
--- a/core/fxcodec/codec/fx_codec_jpx_unittest.cpp
+++ b/core/fxcodec/codec/fx_codec_jpx_unittest.cpp
@@ -432,8 +432,8 @@
     bool expected;
   } cases[] = {{0, false}, {1, false},  {30, false}, {31, true},
                {32, true}, {33, false}, {34, false}, {UINT_MAX, false}};
-  for (size_t i = 0; i < sizeof(cases) / sizeof(cases[0]); ++i) {
-    y.w = cases[i].w;
+  for (const auto& testcase : cases) {
+    y.w = testcase.w;
     y.h = y.w;
     img.x1 = y.w;
     img.y1 = y.h;
@@ -450,7 +450,7 @@
     img.comps[1] = u;
     img.comps[2] = v;
     sycc420_to_rgb(&img);
-    if (cases[i].expected) {
+    if (testcase.expected) {
       EXPECT_EQ(img.comps[0].w, img.comps[1].w);
       EXPECT_EQ(img.comps[0].h, img.comps[1].h);
       EXPECT_EQ(img.comps[0].w, img.comps[2].w);
diff --git a/core/fxcrt/css/cfx_cssdeclaration.cpp b/core/fxcrt/css/cfx_cssdeclaration.cpp
index 598db98..b2187ac 100644
--- a/core/fxcrt/css/cfx_cssdeclaration.cpp
+++ b/core/fxcrt/css/cfx_cssdeclaration.cpp
@@ -180,17 +180,15 @@
   const uint32_t dwType = property->dwType;
   switch (dwType & 0x0F) {
     case CFX_CSSVALUETYPE_Primitive: {
-      static const uint32_t g_ValueGuessOrder[] = {
+      static constexpr CFX_CSSVALUETYPE kValueGuessOrder[] = {
           CFX_CSSVALUETYPE_MaybeNumber, CFX_CSSVALUETYPE_MaybeEnum,
           CFX_CSSVALUETYPE_MaybeColor, CFX_CSSVALUETYPE_MaybeString,
       };
-      static const int32_t g_ValueGuessCount =
-          sizeof(g_ValueGuessOrder) / sizeof(uint32_t);
-      for (int32_t i = 0; i < g_ValueGuessCount; ++i) {
-        const uint32_t dwMatch = dwType & g_ValueGuessOrder[i];
-        if (dwMatch == 0) {
+      for (uint32_t guess : kValueGuessOrder) {
+        const uint32_t dwMatch = dwType & guess;
+        if (dwMatch == 0)
           continue;
-        }
+
         RetainPtr<CFX_CSSValue> pCSSValue;
         switch (dwMatch) {
           case CFX_CSSVALUETYPE_MaybeNumber:
@@ -213,7 +211,7 @@
           return;
         }
 
-        if ((dwType & ~(g_ValueGuessOrder[i])) == CFX_CSSVALUETYPE_Primitive)
+        if ((dwType & ~guess) == CFX_CSSVALUETYPE_Primitive)
           return;
       }
       break;
diff --git a/xfa/fgas/crt/cfgas_formatstring.cpp b/xfa/fgas/crt/cfgas_formatstring.cpp
index a80ce6e..6cbd7b2 100644
--- a/xfa/fgas/crt/cfgas_formatstring.cpp
+++ b/xfa/fgas/crt/cfgas_formatstring.cpp
@@ -28,32 +28,33 @@
 
 namespace {
 
-struct FX_LOCALESUBCATEGORYINFO {
+struct LocaleDateTimeSubCategoryWithHash {
   uint32_t uHash;  // Hashed as wide string.
-  int32_t eSubCategory;
+  FX_LOCALEDATETIMESUBCATEGORY eSubCategory;
+};
+
+struct LocaleNumberSubCategoryWithHash {
+  uint32_t uHash;  // Hashed as wide string.
+  FX_LOCALENUMSUBCATEGORY eSubCategory;
 };
 
 #undef SUBC
 #define SUBC(a, b, c) a, c
 
-const FX_LOCALESUBCATEGORYINFO g_FXLocaleDateTimeSubCatData[] = {
+const LocaleDateTimeSubCategoryWithHash g_FXLocaleDateTimeSubCatData[] = {
     {SUBC(0x14da2125, "default", FX_LOCALEDATETIMESUBCATEGORY_Default)},
     {SUBC(0x9041d4b0, "short", FX_LOCALEDATETIMESUBCATEGORY_Short)},
     {SUBC(0xa084a381, "medium", FX_LOCALEDATETIMESUBCATEGORY_Medium)},
     {SUBC(0xcdce56b3, "full", FX_LOCALEDATETIMESUBCATEGORY_Full)},
     {SUBC(0xf6b4afb0, "long", FX_LOCALEDATETIMESUBCATEGORY_Long)},
 };
-const int32_t g_iFXLocaleDateTimeSubCatCount =
-    sizeof(g_FXLocaleDateTimeSubCatData) / sizeof(FX_LOCALESUBCATEGORYINFO);
 
-const FX_LOCALESUBCATEGORYINFO g_FXLocaleNumSubCatData[] = {
+const LocaleNumberSubCategoryWithHash g_FXLocaleNumSubCatData[] = {
     {SUBC(0x46f95531, "percent", FX_LOCALENUMPATTERN_Percent)},
     {SUBC(0x4c4e8acb, "currency", FX_LOCALENUMPATTERN_Currency)},
     {SUBC(0x54034c2f, "decimal", FX_LOCALENUMPATTERN_Decimal)},
     {SUBC(0x7568e6ae, "integer", FX_LOCALENUMPATTERN_Integer)},
 };
-const int32_t g_iFXLocaleNumSubCatCount =
-    sizeof(g_FXLocaleNumSubCatData) / sizeof(FX_LOCALESUBCATEGORYINFO);
 
 #undef SUBC
 
@@ -1021,10 +1022,9 @@
           uint32_t dwSubHash =
               FX_HashCode_GetW(wsSubCategory.AsStringView(), false);
           FX_LOCALENUMSUBCATEGORY eSubCategory = FX_LOCALENUMPATTERN_Decimal;
-          for (int32_t i = 0; i < g_iFXLocaleNumSubCatCount; i++) {
-            if (g_FXLocaleNumSubCatData[i].uHash == dwSubHash) {
-              eSubCategory = (FX_LOCALENUMSUBCATEGORY)g_FXLocaleNumSubCatData[i]
-                                 .eSubCategory;
+          for (const auto& data : g_FXLocaleNumSubCatData) {
+            if (data.uHash == dwSubHash) {
+              eSubCategory = data.eSubCategory;
               break;
             }
           }
@@ -1620,11 +1620,9 @@
               FX_HashCode_GetW(wsSubCategory.AsStringView(), false);
           FX_LOCALEDATETIMESUBCATEGORY eSubCategory =
               FX_LOCALEDATETIMESUBCATEGORY_Medium;
-          for (int32_t i = 0; i < g_iFXLocaleDateTimeSubCatCount; i++) {
-            if (g_FXLocaleDateTimeSubCatData[i].uHash == dwSubHash) {
-              eSubCategory =
-                  (FX_LOCALEDATETIMESUBCATEGORY)g_FXLocaleDateTimeSubCatData[i]
-                      .eSubCategory;
+          for (const auto& data : g_FXLocaleDateTimeSubCatData) {
+            if (data.uHash == dwSubHash) {
+              eSubCategory = data.eSubCategory;
               break;
             }
           }