Better handling of different int sizes when computing row crc

This commit is contained in:
Jean-Marc Lasgouttes 2016-02-29 13:06:23 +01:00
parent b4d85944a6
commit ffc693c87f

View File

@ -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();