From 660c7f9823216bdab1e063e629c22e82543806f4 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Fri, 18 Feb 2011 12:38:05 -0500 Subject: [PATCH] Fixed bug in directory search for zip and qpak archivers (thanks, Michal!) --- src/archiver_qpak.c | 5 ++++- src/archiver_zip.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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 */