فهرست منبع

Fixed bug in directory search for zip and qpak archivers (thanks, Michal!)

Ryan C. Gordon 15 سال پیش
والد
کامیت
660c7f9823
2فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 4 1
      src/archiver_qpak.c
  2. 4 1
      src/archiver_zip.c

+ 4 - 1
src/archiver_qpak.c

@@ -434,8 +434,11 @@ static QPAKentry *qpak_find_entry(const QPAKinfo *info, const char *path,
 
             if (thispath[pathlen] == '\0') /* found entry? */
                 return &a[middle];
+            /* adjust search params, try again. */
+            else if (thispath[pathlen] > '/')
+                hi = middle - 1;
             else
-                hi = middle - 1;  /* adjust search params, try again. */
+                lo = middle + 1;
         } /* if */
     } /* while */
 

+ 4 - 1
src/archiver_zip.c

@@ -585,8 +585,11 @@ static ZIPentry *zip_find_entry(const ZIPinfo *info, const char *path,
 
             if (thispath[pathlen] == '\0') /* found entry? */
                 return &a[middle];
+            /* adjust search params, try again. */
+            else if (thispath[pathlen] > '/')
+                hi = middle - 1;
             else
-                hi = middle - 1;  /* adjust search params, try again. */
+                lo = middle + 1;
         } /* if */
     } /* while */