--- RobotRulesParser.java.orig	2005-09-28 23:15:52.453377408 -0700
+++ RobotRulesParser.java	2005-09-28 23:15:54.145120224 -0700
@@ -154,16 +154,18 @@
           tmpEntries.toArray(entries);
         tmpEntries= null;
       }
-
-      int pos= 0;
-      int end= entries.length;
-      while (pos < end) {
-        if (path.startsWith(entries[pos].prefix))
-          return entries[pos].allowed;
-        pos++;
+      
+      int longestMatch = 0;
+      boolean ret = true;
+      // use value of longest matching prefix (if any)
+      for (int pos = 0; pos < entries.length; pos++) {
+        String prefix = entries[pos].prefix;
+        if (path.startsWith(prefix) && prefix.length() > longestMatch) {
+          ret = entries[pos].allowed;
+          longestMatch = prefix.length();
+        }
       }
-
-      return true;
+      return ret;
     }
 
     /**
