commit ffc693c87ff17d8826befba9db7106cfc7bda900
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Mon Feb 29 13:06:23 2016 +0100

    Better handling of different int sizes when computing row crc

diff --git a/src/ParagraphMetrics.cpp b/src/ParagraphMetrics.cpp
index ad217cf..5666091 100644
--- a/src/ParagraphMetrics.cpp
+++ b/src/ParagraphMetrics.cpp
@@ -100,13 +100,14 @@ size_t ParagraphMetrics::computeRowSignature(Row const & 
row,
                }
        }
 
+       pos_type const b1[] = { row.sel_beg, row.sel_end };
+       crc.process_bytes(b1, sizeof(b1));
+
        Dimension const & d = row.dimension();
-       char_type const b[] = { static_cast<char_type>(row.sel_beg),
-                               static_cast<char_type>(row.sel_end),
-                               row.begin_margin_sel,
-                               row.end_margin_sel,
-                               d.wid, d.asc, d.des };
-       crc.process_bytes(b, sizeof(b));
+       int const b2[] = { row.begin_margin_sel,
+                          row.end_margin_sel,
+                          d.wid, d.asc, d.des };
+       crc.process_bytes(b2, sizeof(b2));
        crc.process_bytes(&row.separator, sizeof(row.separator));
 
        return crc.checksum();

Reply via email to