diff --git a/src/archiver_qpak.c b/src/archiver_qpak.c index 40b0fa8..ee069c4 100644 --- a/src/archiver_qpak.c +++ b/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 */ diff --git a/src/archiver_zip.c b/src/archiver_zip.c index 584bf62..59686da 100644 --- a/src/archiver_zip.c +++ b/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 */