Prepare CBC_OneDimWriter::AppendPattern() for span conversion.
- Use size_t in more places.
- Change the pattern input values to be unsigned, like size_t.
- Mark more arrays constant and/or name them kFoo.
Change-Id: I197601c7848d30c144c63c09da090b30e558ad71
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/101073
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fxbarcode/oned/BC_OneDimWriter.cpp b/fxbarcode/oned/BC_OneDimWriter.cpp
index b203e59..9f54443 100644
--- a/fxbarcode/oned/BC_OneDimWriter.cpp
+++ b/fxbarcode/oned/BC_OneDimWriter.cpp
@@ -85,20 +85,20 @@
m_fontColor = color;
}
-int32_t CBC_OneDimWriter::AppendPattern(uint8_t* target,
- int32_t pos,
- const int8_t* pattern,
- int32_t patternLength,
- bool startColor) {
+size_t CBC_OneDimWriter::AppendPattern(uint8_t* target,
+ size_t pos,
+ const uint8_t* pattern,
+ int32_t patternLength,
+ bool startColor) {
bool color = startColor;
- int32_t numAdded = 0;
+ size_t added = 0;
for (int32_t i = 0; i < patternLength; i++) {
for (int32_t j = 0; j < pattern[i]; j++)
target[pos++] = color ? 1 : 0;
- numAdded += pattern[i];
+ added += pattern[i];
color = !color;
}
- return numAdded;
+ return added;
}
void CBC_OneDimWriter::CalcTextInfo(const ByteString& text,
diff --git a/fxbarcode/oned/BC_OneDimWriter.h b/fxbarcode/oned/BC_OneDimWriter.h
index a990dd9..e36501f 100644
--- a/fxbarcode/oned/BC_OneDimWriter.h
+++ b/fxbarcode/oned/BC_OneDimWriter.h
@@ -73,11 +73,11 @@
float geWidth,
int32_t fontSize,
float& charsLen);
- int32_t AppendPattern(uint8_t* target,
- int32_t pos,
- const int8_t* pattern,
- int32_t patternLength,
- bool startColor);
+ size_t AppendPattern(uint8_t* target,
+ size_t pos,
+ const uint8_t* pattern,
+ int32_t patternLength,
+ bool startColor);
bool m_bPrintChecksum = true;
bool m_bCalcChecksum = false;
diff --git a/fxbarcode/oned/BC_OnedCode128Writer.cpp b/fxbarcode/oned/BC_OnedCode128Writer.cpp
index 8d9d96e..2515780 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode128Writer.cpp
@@ -35,7 +35,7 @@
constexpr size_t kPatternSize = 7;
-const int8_t CODE_PATTERNS[107][kPatternSize] = {
+const uint8_t kCodePatterns[107][kPatternSize] = {
{2, 1, 2, 2, 2, 2, 0}, {2, 2, 2, 1, 2, 2, 0}, {2, 2, 2, 2, 2, 1, 0},
{1, 2, 1, 2, 2, 3, 0}, {1, 2, 1, 3, 2, 2, 0}, {1, 3, 1, 2, 2, 2, 0},
{1, 2, 2, 2, 1, 3, 0}, {1, 2, 2, 3, 1, 2, 0}, {1, 3, 2, 2, 1, 2, 0},
@@ -135,14 +135,14 @@
m_iContentLen = contents.GetLength() + 3;
int32_t codeWidth = 0;
for (const auto& patternIndex : patterns) {
- const int8_t* pattern = CODE_PATTERNS[patternIndex];
+ const uint8_t* pattern = kCodePatterns[patternIndex];
for (size_t i = 0; i < kPatternSize; ++i)
codeWidth += pattern[i];
}
DataVector<uint8_t> result(codeWidth);
- int32_t pos = 0;
+ size_t pos = 0;
for (size_t i = 0; i < patterns.size(); ++i) {
- const int8_t* pattern = CODE_PATTERNS[patterns[i]];
+ const uint8_t* pattern = kCodePatterns[patterns[i]];
pos += AppendPattern(result.data(), pos, pattern, kPatternSize, true);
}
return result;
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.cpp b/fxbarcode/oned/BC_OnedCode39Writer.cpp
index a58e141..f046717 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer.cpp
@@ -140,7 +140,7 @@
}
void CBC_OnedCode39Writer::ToIntArray(int16_t value,
- int8_t array[kArraySize]) const {
+ uint8_t array[kArraySize]) const {
for (size_t i = 0; i < kArraySize; i++) {
array[i] = (value & (1 << i)) == 0 ? 1 : m_iWideNarrRatio;
}
@@ -151,7 +151,7 @@
if (checksum == '*')
return DataVector<uint8_t>();
- int8_t widths[kArraySize] = {0};
+ uint8_t widths[kArraySize] = {0};
constexpr int32_t kWideStrideNum = 3;
constexpr int32_t kNarrowStrideNum = kArraySize - kWideStrideNum;
ByteString encodedContents = contents;
@@ -173,10 +173,10 @@
}
DataVector<uint8_t> result(code_width);
ToIntArray(kOnedCode39CharacterEncoding[39], widths);
- int32_t pos = AppendPattern(result.data(), 0, widths, kArraySize, true);
+ size_t pos = AppendPattern(result.data(), 0, widths, kArraySize, true);
- int8_t narrowWhite[] = {1};
- pos += AppendPattern(result.data(), pos, narrowWhite, 1, false);
+ static constexpr uint8_t kNarrowWhite[] = {1};
+ pos += AppendPattern(result.data(), pos, kNarrowWhite, 1, false);
for (int32_t l = m_iContentLen - 1; l >= 0; l--) {
for (size_t i = 0; i < kOnedCode39AlphabetLen; i++) {
@@ -186,7 +186,7 @@
ToIntArray(kOnedCode39CharacterEncoding[i], widths);
pos += AppendPattern(result.data(), pos, widths, kArraySize, true);
}
- pos += AppendPattern(result.data(), pos, narrowWhite, 1, false);
+ pos += AppendPattern(result.data(), pos, kNarrowWhite, 1, false);
}
ToIntArray(kOnedCode39CharacterEncoding[39], widths);
pos += AppendPattern(result.data(), pos, widths, kArraySize, true);
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.h b/fxbarcode/oned/BC_OnedCode39Writer.h
index 3628e9a..932d703 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.h
+++ b/fxbarcode/oned/BC_OnedCode39Writer.h
@@ -32,7 +32,7 @@
private:
static constexpr size_t kArraySize = 9;
- void ToIntArray(int16_t value, int8_t array[kArraySize]) const;
+ void ToIntArray(int16_t value, uint8_t array[kArraySize]) const;
int8_t m_iWideNarrRatio = 3;
};
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer.cpp b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
index 0b3aa28..c902463 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
@@ -40,12 +40,12 @@
const int8_t kFirstDigitEncodings[10] = {0x00, 0x0B, 0x0D, 0xE, 0x13,
0x19, 0x1C, 0x15, 0x16, 0x1A};
-const int8_t kOnedEAN13StartPattern[3] = {1, 1, 1};
-const int8_t kOnedEAN13MiddlePattern[5] = {1, 1, 1, 1, 1};
-const int8_t kOnedEAN13LPattern[10][4] = {
+const uint8_t kOnedEAN13StartPattern[3] = {1, 1, 1};
+const uint8_t kOnedEAN13MiddlePattern[5] = {1, 1, 1, 1, 1};
+const uint8_t kOnedEAN13LPattern[10][4] = {
{3, 2, 1, 1}, {2, 2, 2, 1}, {2, 1, 2, 2}, {1, 4, 1, 1}, {1, 1, 3, 2},
{1, 2, 3, 1}, {1, 1, 1, 4}, {1, 3, 1, 2}, {1, 2, 1, 3}, {3, 1, 1, 2}};
-const int8_t L_AND_G_PATTERNS[20][4] = {
+const uint8_t kOnedEAN13LGPattern[20][4] = {
{3, 2, 1, 1}, {2, 2, 2, 1}, {2, 1, 2, 2}, {1, 4, 1, 1}, {1, 1, 3, 2},
{1, 2, 3, 1}, {1, 1, 1, 4}, {1, 3, 1, 2}, {1, 2, 1, 3}, {3, 1, 1, 2},
{1, 1, 2, 3}, {1, 2, 2, 2}, {2, 2, 1, 2}, {1, 1, 4, 1}, {2, 3, 1, 1},
@@ -93,7 +93,7 @@
int32_t firstDigit = FXSYS_DecimalCharToInt(contents.Front());
int32_t parities = kFirstDigitEncodings[firstDigit];
DataVector<uint8_t> result(m_codeWidth);
- int32_t pos = 0;
+ size_t pos = 0;
pos += AppendPattern(result.data(), pos, kOnedEAN13StartPattern, 3, true);
int32_t i = 0;
@@ -102,7 +102,8 @@
if ((parities >> (6 - i) & 1) == 1) {
digit += 10;
}
- pos += AppendPattern(result.data(), pos, L_AND_G_PATTERNS[digit], 4, false);
+ pos +=
+ AppendPattern(result.data(), pos, kOnedEAN13LGPattern[digit], 4, false);
}
pos += AppendPattern(result.data(), pos, kOnedEAN13MiddlePattern, 5, false);
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
index 101e5e8..6b23dfd 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
@@ -39,9 +39,9 @@
namespace {
-const int8_t kOnedEAN8StartPattern[3] = {1, 1, 1};
-const int8_t kOnedEAN8MiddlePattern[5] = {1, 1, 1, 1, 1};
-const int8_t kOnedEAN8LPattern[10][4] = {
+const uint8_t kOnedEAN8StartPattern[3] = {1, 1, 1};
+const uint8_t kOnedEAN8MiddlePattern[5] = {1, 1, 1, 1, 1};
+const uint8_t kOnedEAN8LPattern[10][4] = {
{3, 2, 1, 1}, {2, 2, 2, 1}, {2, 1, 2, 2}, {1, 4, 1, 1}, {1, 1, 3, 2},
{1, 2, 3, 1}, {1, 1, 1, 4}, {1, 3, 1, 2}, {1, 2, 1, 3}, {3, 1, 1, 2}};
@@ -93,7 +93,7 @@
return {};
DataVector<uint8_t> result(m_codeWidth);
- int32_t pos = 0;
+ size_t pos = 0;
pos += AppendPattern(result.data(), pos, kOnedEAN8StartPattern, 3, true);
int32_t i = 0;