Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java')
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java
index 13dc5ebdd9..244ec56751 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/SortedFileMap.java
@@ -101,9 +101,9 @@ public abstract class SortedFileMap<K extends Comparable, V> implements Closeabl
try
{
long index = search(key);
- long pos = randomAccessFile.getFilePointer();
if (index >= 0)
{
+ long pos = randomAccessFile.getFilePointer();
V oldValue = readValue(randomAccessFile);
randomAccessFile.seek(pos);
writeValue(randomAccessFile, value);
@@ -111,7 +111,7 @@ public abstract class SortedFileMap<K extends Comparable, V> implements Closeabl
}
index = -index - 1;
- for (long i = entryCount; i >= index; --i)
+ for (long i = entryCount; i > index; --i)
{
randomAccessFile.seek((i - 1) * entrySize);
K k = readKey(randomAccessFile);
@@ -122,7 +122,8 @@ public abstract class SortedFileMap<K extends Comparable, V> implements Closeabl
writeValue(randomAccessFile, v);
}
- randomAccessFile.seek(pos);
+ ++entryCount;
+ randomAccessFile.seek(getPosition(index));
writeKey(randomAccessFile, key);
writeValue(randomAccessFile, value);
return null;

Back to the top