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;
}
}