Make CBC_PDF417HighLevelEncoder::encodeText() faster. Call WideString::Reserve() to prevent excessive reallocation. Fix some nits as well. BUG=chromium:902302 Change-Id: I0c22dd7b286728f12ceca3f029c0dd555fc632f8 Reviewed-on: https://pdfium-review.googlesource.com/c/45651 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp index 7deca0f..e7e64e8 100644 --- a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp +++ b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp
@@ -157,6 +157,7 @@ WideString& sb, int32_t initialSubmode) { WideString tmp; + tmp.Reserve(count); int32_t submode = initialSubmode; size_t idx = 0; while (true) { @@ -185,11 +186,10 @@ break; case SUBMODE_LOWER: if (isAlphaLower(ch)) { - if (ch == ' ') { + if (ch == ' ') tmp += 26; - } else { + else tmp += ch - 97; - } break; } if (isAlphaUpper(ch)) {