Began removing the excessive use of exceptions in the 1D readers by drawing
[zxing.git] / cpp / core / src / zxing / oned / EAN8Reader.cpp
index f54d0cf..75bc4ad 100644 (file)
@@ -2,7 +2,6 @@
  *  EAN8Reader.cpp
  *  ZXing
  *
- *  Created by Lukasz Warchol on 10-01-25.
  *  Copyright 2010 ZXing authors All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
 namespace zxing {
   namespace oned {
-    
+
     EAN8Reader::EAN8Reader(){ }
-    
-    int EAN8Reader::decodeMiddle(Ref<BitArray> row, int startRange[], int startRangeLen, std::string& resultString){
+
+    int EAN8Reader::decodeMiddle(Ref<BitArray> row, int startRange[], int startRangeLen,
+        std::string& resultString){
       const int countersLen = 4;
       int counters[countersLen] = { 0, 0, 0, 0 };
-      
+
       int end = row->getSize();
       int rowOffset = startRange[1];
-      
+
       for (int x = 0; x < 4 && rowOffset < end; x++) {
-        int bestMatch = decodeDigit(row, counters, countersLen, rowOffset, UPC_EAN_PATTERNS_L_PATTERNS);
+        int bestMatch = decodeDigit(row, counters, countersLen, rowOffset,
+            UPC_EAN_PATTERNS_L_PATTERNS);
         resultString.append(1, (char) ('0' + bestMatch));
         for (int i = 0; i < countersLen; i++) {
           rowOffset += counters[i];
         }
       }
-      
-                        int* middleRange = 0;
-                        try { 
-                                middleRange = findGuardPattern(row, rowOffset, true, (int*)getMIDDLE_PATTERN(), getMIDDLE_PATTERN_LEN());
-                                rowOffset = middleRange[1];
-      
-                                for (int x = 0; x < 4 && rowOffset < end; x++) {
-                                        int bestMatch = decodeDigit(row, counters, countersLen, rowOffset, UPC_EAN_PATTERNS_L_PATTERNS);
-                                        resultString.append(1, (char) ('0' + bestMatch));
-                                        for (int i = 0; i < countersLen; i++) {
-                                                rowOffset += counters[i];
-                                        }
-                                }
 
-                                delete [] middleRange;
-                                return rowOffset;
-                        } catch (ReaderException const& re) {
-                                delete [] middleRange;
-                                throw re;
-                        }
+      int* middleRange = 0;
+      try {
+        middleRange = findGuardPattern(row, rowOffset, true, (int*)getMIDDLE_PATTERN(),
+            getMIDDLE_PATTERN_LEN());
+        rowOffset = middleRange[1];
+
+        for (int x = 0; x < 4 && rowOffset < end; x++) {
+          int bestMatch = decodeDigit(row, counters, countersLen, rowOffset,
+              UPC_EAN_PATTERNS_L_PATTERNS);
+          resultString.append(1, (char) ('0' + bestMatch));
+          for (int i = 0; i < countersLen; i++) {
+            rowOffset += counters[i];
+          }
+        }
+
+        delete [] middleRange;
+        return rowOffset;
+      } catch (ReaderException const& re) {
+        delete [] middleRange;
+        throw re;
+      }
     }
-    
+
     BarcodeFormat EAN8Reader::getBarcodeFormat(){
       return BarcodeFormat_EAN_8;
     }