Index: .project =================================================================== RCS file: /home/eclipse/org.eclipse.core.resources/.project,v retrieving revision 1.8 diff -u -r1.8 .project --- .project 4 Dec 2002 22:20:00 -0000 1.8 +++ .project 16 Dec 2002 20:29:55 -0000 @@ -13,39 +13,6 @@ - - org.eclipse.ui.externaltools.ExternalToolBuilder - - - !{tool_args} - -DbuildType=${build_type} - - - !{tool_loc} - ${workspace_loc:/org.eclipse.core.resources/scripts/buildExtraJAR.xml} - - - !{tool_dir} - - - - !{tool_refresh} - ${none} - - - !{tool_name} - org.eclipse.core.resources extra builder - - - !{tool_type} - org.eclipse.ui.externaltools.type.ant - - - !{tool_show_log} - true - - - org.eclipse.jdt.core.javanature Index: src/org/eclipse/core/internal/localstore/HistoryStore.java =================================================================== RCS file: /home/eclipse/org.eclipse.core.resources/src/org/eclipse/core/internal/localstore/HistoryStore.java,v retrieving revision 1.18 diff -u -r1.18 HistoryStore.java --- src/org/eclipse/core/internal/localstore/HistoryStore.java 16 Dec 2002 20:10:49 -0000 1.18 +++ src/org/eclipse/core/internal/localstore/HistoryStore.java 16 Dec 2002 20:29:56 -0000 @@ -10,15 +10,15 @@ **********************************************************************/ package org.eclipse.core.internal.localstore; -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; -import org.eclipse.core.internal.properties.IndexedStoreWrapper; -import org.eclipse.core.internal.resources.*; -import org.eclipse.core.internal.utils.*; -import org.eclipse.core.internal.indexing.*; import java.io.File; import java.io.InputStream; import java.util.*; +import org.eclipse.core.internal.indexing.*; +import org.eclipse.core.internal.properties.IndexedStoreWrapper; +import org.eclipse.core.internal.resources.*; +import org.eclipse.core.internal.utils.*; +import org.eclipse.core.resources.*; +import org.eclipse.core.runtime.*; public class HistoryStore { protected Workspace workspace; @@ -45,17 +45,28 @@ cursor.find(key); // Check for a prefix match. while (cursor.keyMatches(key)) { + byte[] storedKey = cursor.getKey(); + + // visit if we have an exact match + if (storedKey.length - ILocalStoreConstants.SIZE_KEY_SUFFIX == key.length) { + HistoryStoreEntry storedEntry = HistoryStoreEntry.create(store, cursor); + if (!visitor.visit(storedEntry)) + break; + } + + // return if we aren't checking partial matches if (!visitOnPartialMatch) { - // Ensure key prefix is of correct length. - byte[] storedKey = cursor.getKey(); - if (storedKey.length - ILocalStoreConstants.SIZE_KEY_SUFFIX != key.length) { - cursor.next(); - continue; - } + cursor.next(); + continue; + } + + // check to see if the next byte is a path separator + byte b = storedKey[key.length]; + if (b == 47) { + HistoryStoreEntry storedEntry = HistoryStoreEntry.create(store, cursor); + if (!visitor.visit(storedEntry)) + break; } - HistoryStoreEntry storedEntry = HistoryStoreEntry.create(store, cursor); - if (!visitor.visit(storedEntry)) - break; cursor.next(); } cursor.close();