From 3c5944c93445bb40c2131ea6782e8cc8b673bffb Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Fri, 1 Sep 2017 16:40:48 -0400 Subject: Add unit tests for EAN-8 barcode writer. Bug: pdfium:882 Change-Id: I900d3c1b0b74523fa9e4497da65c68eb307ea6dc Reviewed-on: https://pdfium-review.googlesource.com/12950 Commit-Queue: Henrique Nakashima Reviewed-by: Tom Sepez --- fxbarcode/oned/BC_OnedEAN8Writer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'fxbarcode/oned/BC_OnedEAN8Writer.cpp') diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/fxbarcode/oned/BC_OnedEAN8Writer.cpp index 3fcb1e8350..c3becc1a43 100644 --- a/fxbarcode/oned/BC_OnedEAN8Writer.cpp +++ b/fxbarcode/oned/BC_OnedEAN8Writer.cpp @@ -86,16 +86,16 @@ CFX_WideString CBC_OnedEAN8Writer::FilterContents( int32_t CBC_OnedEAN8Writer::CalcChecksum(const CFX_ByteString& contents) { int32_t odd = 0; int32_t even = 0; + FX_STRSIZE parity = 1; for (FX_STRSIZE i = contents.GetLength(); i > 0; i--) { if (i % 2) { odd += FXSYS_DecimalCharToInt(contents[i - 1]); } else { even += FXSYS_DecimalCharToInt(contents[i - 1]); } + parity++; } - int32_t checksum = (odd * 3 + even) % 10; - checksum = (10 - checksum) % 10; - return checksum; + return (10 - (odd * 3 + even) % 10) % 10; } uint8_t* CBC_OnedEAN8Writer::EncodeWithHint(const CFX_ByteString& contents, -- cgit v1.2.3