Author: toad
Date: 2007-04-24 11:33:28 +0000 (Tue, 24 Apr 2007)
New Revision: 12913
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
Maybe fix KeyIterator
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
00:26:39 UTC (rev 12912)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
11:33:28 UTC (rev 12913)
@@ -442,6 +442,18 @@
subsetIterator = subsets.keySet().iterator();
else
subsetIterator = null;
+ while(true) {
+ if(valuesIterator.hasNext()) break;
+ if(!subsetIterator.hasNext()) break;
+ String name = (String) subsetIterator.next();
+ if(name == null) continue;
+ SimpleFieldSet fs = (SimpleFieldSet) subsets.get(name);
+ if(fs == null) continue;
+ String newPrefix = prefix + name + MULTI_LEVEL_CHAR;
+ subIterator = fs.keyIterator(newPrefix);
+ if(subIterator.hasNext()) break;
+ subIterator = null;
+ }
this.prefix = prefix;
}