Fix bug #51273 - Hash codes can be negative when working on our own low memory hash for formula cell evaluation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1128268 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
53ab14248c
commit
4410d044f0
@ -34,6 +34,7 @@
|
||||
|
||||
<changes>
|
||||
<release version="3.8-beta3" date="2011-??-??">
|
||||
<action dev="poi-developers" type="fix">51273 - Formula Value Cache fix for repeated evaluations</action>
|
||||
<action dev="poi-developers" type="add">51171 - Improved performance of SharedValueManager </action>
|
||||
<action dev="poi-developers" type="fix">51236 - XSSF set colour support for black/white to match getter</action>
|
||||
<action dev="poi-developers" type="add">51196 - Initial support for Spreadsheet Chart API</action>
|
||||
|
@ -76,8 +76,7 @@ final class FormulaCellCacheEntrySet {
|
||||
|
||||
|
||||
private static boolean addInternal(CellCacheEntry[] arr, CellCacheEntry cce) {
|
||||
|
||||
int startIx = cce.hashCode() % arr.length;
|
||||
int startIx = Math.abs(cce.hashCode() % arr.length);
|
||||
|
||||
for(int i=startIx; i<arr.length; i++) {
|
||||
CellCacheEntry item = arr[i];
|
||||
@ -130,7 +129,7 @@ final class FormulaCellCacheEntrySet {
|
||||
// else - usual case
|
||||
// delete single element (without re-hashing)
|
||||
|
||||
int startIx = cce.hashCode() % arr.length;
|
||||
int startIx = Math.abs(cce.hashCode() % arr.length);
|
||||
|
||||
// note - can't exit loops upon finding null because of potential previous deletes
|
||||
for(int i=startIx; i<arr.length; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user