Kaynağa Gözat

Backported zip/qpak dir fix from dev branch to stable-2.0.

Ryan C. Gordon 15 yıl önce
ebeveyn
işleme
6b96ff2524
2 değiştirilmiş dosya ile 8 ekleme ve 2 silme
  1. 4 1
      archivers/qpak.c
  2. 4 1
      archivers/zip.c

+ 4 - 1
archivers/qpak.c

@@ -478,8 +478,11 @@ static QPAKentry *qpak_find_entry(QPAKinfo *info, const char *path, int *isDir)
 
             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
archivers/zip.c

@@ -544,8 +544,11 @@ static ZIPentry *zip_find_entry(ZIPinfo *info, const char *path, int *isDir)
 
             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 */