Speed up DetermineConsecutiveDigitCount() in debug builds.

BUG=chromium:930394

Change-Id: I4e3080d5f813cb7e84a0198c1a7f4d826fc6e09b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/51410
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fxbarcode/datamatrix/BC_ASCIIEncoder.cpp b/fxbarcode/datamatrix/BC_ASCIIEncoder.cpp
index 469a8eb..ed51f81 100644
--- a/fxbarcode/datamatrix/BC_ASCIIEncoder.cpp
+++ b/fxbarcode/datamatrix/BC_ASCIIEncoder.cpp
@@ -41,9 +41,13 @@
 }
 
 size_t DetermineConsecutiveDigitCount(const WideString& msg, size_t startpos) {
+  // This is faster in debug builds and helpful for fuzzers.
+  // Access |data| with care.
   size_t count = 0;
-  for (size_t i = startpos; i < msg.GetLength(); ++i) {
-    if (!FXSYS_IsDecimalDigit(msg[i]))
+  const size_t size = msg.GetLength();
+  const wchar_t* data = msg.c_str();
+  for (size_t i = startpos; i < size; ++i) {
+    if (!FXSYS_IsDecimalDigit(data[i]))
       break;
     ++count;
   }