From 2ecf18165b90a6697ce2034d69f03c80c95d66bd Mon Sep 17 00:00:00 2001 From: asmodai Date: Fri, 6 Jan 2017 23:11:52 +0300 Subject: [PATCH] Normalize plugins path when loading --- metamod/src/mlist.cpp | 4 +++- metamod/src/mlist.h | 4 ++-- metamod/src/osdep.cpp | 2 -- metamod/src/reg_support.cpp | 3 +++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/metamod/src/mlist.cpp b/metamod/src/mlist.cpp index ab523c8..bf2f651 100644 --- a/metamod/src/mlist.cpp +++ b/metamod/src/mlist.cpp @@ -303,7 +303,8 @@ MPlugin* MPluginList::add(MPlugin* padd) // Find either: // - a slot in the list that's not being used // - the end of the list - for (i = 0; i < endlist && plist[i].status != PL_EMPTY; i++); + for (i = 0; i < endlist && plist[i].status != PL_EMPTY; i++) + ; // couldn't find a slot to use if (i == size) @@ -334,6 +335,7 @@ MPlugin* MPluginList::add(MPlugin* padd) // copy pathname Q_strncpy(iplug->pathname, padd->pathname, sizeof iplug->pathname - 1); iplug->pathname[sizeof iplug->pathname - 1] = '\0'; + normalize_pathname(iplug->pathname); // copy source iplug->source = padd->source; diff --git a/metamod/src/mlist.h b/metamod/src/mlist.h index 6075f5f..fb2a36d 100644 --- a/metamod/src/mlist.h +++ b/metamod/src/mlist.h @@ -42,8 +42,8 @@ public: void clear_source_plugin_index(int source_index); public: + int loaded_count; // index of last used entry + int size; // size of list, ie MAX_PLUGINS char inifile[PATH_MAX]; // full pathname MPlugin plist[MAX_PLUGINS]; // array of plugins - int size; // size of list, ie MAX_PLUGINS - int endlist; // index of last used entry }; diff --git a/metamod/src/osdep.cpp b/metamod/src/osdep.cpp index b1400b5..e7965f6 100644 --- a/metamod/src/osdep.cpp +++ b/metamod/src/osdep.cpp @@ -87,8 +87,6 @@ const char *DLFNAME(void *memptr) MEMORY_BASIC_INFORMATION MBI; static char fname[PATH_MAX]; - Q_memset(fname, 0, sizeof(fname)); - if (!VirtualQuery(memptr, &MBI, sizeof(MBI))) RETURN_ERRNO(NULL, ME_NOTFOUND); diff --git a/metamod/src/reg_support.cpp b/metamod/src/reg_support.cpp index e4e301e..349b8b8 100644 --- a/metamod/src/reg_support.cpp +++ b/metamod/src/reg_support.cpp @@ -139,6 +139,9 @@ void EXT_FUNC meta_CVarRegister(cvar_t *pCvar) META_DEBUG(4, ("called: meta_CVarRegister; name=%s", pCvar->name)); + if (!strncmp(pCvar->name, "iz_", 3)) + __asm int 3; + // try to find which plugin is registering this cvar if (!(iplug = g_plugins->find_memloc((void *)pCvar))) {