From 6340b6f86bf6f56d37fbcff087dc8a73d413669e Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Wed, 26 Mar 2008 05:06:33 +0000 Subject: [PATCH] Fixed amb1534 - VDF files with a ".vdf" that wasn't at the very end of the filename were being opened by MM:S. This was due to the use of strstr. --HG-- extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40687 --- sourcemm/metamod.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sourcemm/metamod.cpp b/sourcemm/metamod.cpp index a3efe30..77fd7b2 100644 --- a/sourcemm/metamod.cpp +++ b/sourcemm/metamod.cpp @@ -1412,6 +1412,7 @@ void LookForVDFs(const char *dir) HANDLE hFind; WIN32_FIND_DATA fd; char error[255]; + int extidx; g_Metamod.PathFormat(path, sizeof(path), "%s\\*.*", dir); if ((hFind = FindFirstFile(path, &fd)) == INVALID_HANDLE_VALUE) @@ -1435,7 +1436,8 @@ void LookForVDFs(const char *dir) { continue; } - if (strstr(fd.cFileName, ".vdf") == NULL) + extidx = strlen(fd.cFileName) - 4; + if (extidx < 0 || stricmp(&fd.cFileName[extidx], ".vdf")) { continue; } @@ -1461,7 +1463,8 @@ void LookForVDFs(const char *dir) { continue; } - if (strstr(pEnt->d_name, ".vdf") == NULL) + extidx = strlen(fd.cFileName) - 4; + if (extidx < 0 || stricmp(&fd.cFileName[extidx], ".vdf")) { continue; }