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;
        }



Reply via email to