Browse Source

rehash() bug fix.

release/0.19
JustinAJ 10 years ago
parent
commit
b58e1263d5
  1. 11
      Jupiter/Rehash.cpp
  2. BIN
      Release/Jupiter.lib

11
Jupiter/Rehash.cpp

@ -59,14 +59,21 @@ unsigned int Jupiter::rehash()
if (rehashables.size() == 0) return 0; if (rehashables.size() == 0) return 0;
unsigned int total = 0; unsigned int total = 0;
int r; int r;
for (Jupiter::DLList<Jupiter::Rehashable>::Node *n = rehashables.getNode(0); n != nullptr; n = n->next) Jupiter::DLList<Jupiter::Rehashable>::Node *n = rehashables.getNode(0);
while (n != nullptr)
{ {
r = n->data->OnRehash(); r = n->data->OnRehash();
if (r != 0) if (r != 0)
{ {
total++; total++;
if (r < 0) delete n->data; if (r < 0)
{
n = n->next;
delete rehashables.remove(n->previous);
continue;
}
} }
n = n->next;
} }
return total; return total;
} }

BIN
Release/Jupiter.lib

Binary file not shown.
Loading…
Cancel
Save