From 27b1a3a23889ca9b28512260b5353664a85e8269 Mon Sep 17 00:00:00 2001 From: jaemin7666 Date: Sat, 6 Jun 2020 17:48:06 +0900 Subject: [PATCH] Refactoring operation name : rename Refactoring object : getTotalBits(List segments, int version) Reason : some value names are too simple to express meaning . So,rename result to TotalBits, seg to segment, segs to segments, ccbits to characterCountBits --- .../main/java/io/nayuki/qrcodegen/QrSegment.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java/src/main/java/io/nayuki/qrcodegen/QrSegment.java b/java/src/main/java/io/nayuki/qrcodegen/QrSegment.java index 52c9d69..0fb22b6 100644 --- a/java/src/main/java/io/nayuki/qrcodegen/QrSegment.java +++ b/java/src/main/java/io/nayuki/qrcodegen/QrSegment.java @@ -229,6 +229,20 @@ public final class QrSegment { return (int)result; } + static int getTotalBits(List segments, int version) { + Objects.requireNonNull(segments); + long TotalBits = 0; + for (QrSegment segment : segments) { + Objects.requireNonNull(segment); + int characterCountBits = segment.mode.numCharCountBits(version); + if (segment.numberOfCharacters >= (1 << characterCountBits)) + return -1; // The segment's length doesn't fit the field's bit width + TotalBits += 4L + characterCountBits + segment.data.bitLength(); + if (TotalBits > Integer.MAX_VALUE) + return -1; // The sum will overflow an int type + } + return (int)TotalBits; + } /*---- Constants ----*/