diff --git a/archivers/qpak.c b/archivers/qpak.c index 5cb2190..a03db6a 100644 --- a/archivers/qpak.c +++ b/archivers/qpak.c @@ -554,8 +554,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 */ diff --git a/archivers/zip.c b/archivers/zip.c index 2aeaf15..c82eb58 100644 --- a/archivers/zip.c +++ b/archivers/zip.c @@ -586,8 +586,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 */