Fix a PDF417 encoding bug for 45 digits numeric data.
[pdfium.git] / xfa / src / fxbarcode / pdf417 / BC_PDF417HighLevelEncoder.cpp
index 8ee21ea..54bd0b6 100644 (file)
@@ -294,11 +294,11 @@ void CBC_PDF417HighLevelEncoder::encodeNumeric(CFX_WideString msg, FX_INT32 star
 {\r
     FX_INT32 idx = 0;\r
     BigInteger num900 = 900;\r
-    while (idx < count - 1) {\r
+    while (idx < count) {\r
         CFX_WideString tmp;\r
         FX_INT32 len = 44 < count - idx ? 44 : count - idx;\r
         CFX_ByteString part = ((FX_WCHAR)'1' + msg.Mid(startpos + idx, len)).UTF8Encode();\r
-        BigInteger bigint = stringToBigInteger(FX_LPCSTR(part));\r
+        BigInteger bigint = stringToBigInteger(part.c_str());\r
         do {\r
             FX_INT32 c = (bigint % num900).toInt();\r
             tmp += (FX_WCHAR)(c);\r