Author: toad
Date: 2007-04-24 11:47:22 +0000 (Tue, 24 Apr 2007)
New Revision: 12916
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
More KeyIterator logic fixes
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
11:40:56 UTC (rev 12915)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
11:47:22 UTC (rev 12916)
@@ -481,6 +481,7 @@
while(true) {
// Iterate subsets.
if(subIterator != null &&
subIterator.hasNext()) {
+ if(ret != null) return ret;
ret = (String)
subIterator.next();
if(subIterator.hasNext())
if(ret != null) return
ret;
@@ -491,6 +492,10 @@
SimpleFieldSet fs =
(SimpleFieldSet) subsets.get(key);
String newPrefix = prefix + key
+ MULTI_LEVEL_CHAR;
subIterator =
fs.keyIterator(newPrefix);
+ } else {
+ if(ret == null)
+ Logger.error(this,
"Returning null from KeyIterator.nextKey() - should never happen!");
+ return ret;
}
}
}