From 6b96ff2524de88db416b3e1462c070f64d8a308f Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Fri, 18 Feb 2011 12:42:14 -0500 Subject: [PATCH] Backported zip/qpak dir fix from dev branch to stable-2.0. --- archivers/qpak.c | 5 ++++- archivers/zip.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/archivers/qpak.c b/archivers/qpak.c index 15832c4d..1aa7a32b 100644 --- a/archivers/qpak.c +++ b/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 */ diff --git a/archivers/zip.c b/archivers/zip.c index 0a64af2b..b546df22 100644 --- a/archivers/zip.c +++ b/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 */