From 1f0851cc61a72c16c85bda1ffd317c5e5a1fe380 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Mon, 27 Dec 2010 10:31:54 +0900 Subject: [PATCH] Fix QFS_FilelistFill for pak files. Forgot to ensure the path separator was included in the fnmatch param. This fixes the broken *list commands. --- libs/util/quakefs.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/util/quakefs.c b/libs/util/quakefs.c index 77d897d65..01f6c3934 100644 --- a/libs/util/quakefs.c +++ b/libs/util/quakefs.c @@ -1512,7 +1512,7 @@ QFS_FilelistFill (filelist_t *list, const char *path, const char *ext, return; cp = cpath = QFS_CompressPath (path); - if (*cp == '/') + if (*cp && cp[strlen (cp) - 1] == '/') separator = ""; for (search = qfs_searchpaths; search != NULL; search = search->next) { @@ -1522,9 +1522,10 @@ QFS_FilelistFill (filelist_t *list, const char *path, const char *ext, for (i = 0; i < pak->numfiles; i++) { char *name = pak->files[i].name; - - if (!fnmatch (va("%s*.%s", cp, ext), name, FNM_PATHNAME) - || !fnmatch (va("%s*.%s.gz", cp, ext), name, FNM_PATHNAME)) + if (!fnmatch (va("%s%s*.%s", cp, separator, ext), name, + FNM_PATHNAME) + || !fnmatch (va("%s%s*.%s.gz", cp, separator, ext), name, + FNM_PATHNAME)) QFS_FilelistAdd (list, name, strip ? ext : 0); } } else {