diff --git a/polymer/eduke32/build/src/cache1d.c b/polymer/eduke32/build/src/cache1d.c index b04a97bef..0339078ea 100644 --- a/polymer/eduke32/build/src/cache1d.c +++ b/polymer/eduke32/build/src/cache1d.c @@ -455,10 +455,15 @@ int32_t removesearchpath(const char *p) void removesearchpaths_withuser(int32_t usermask) { - for (searchpath_t *srch = searchpathhead; srch; srch = srch->next) + searchpath_t *next; + + for (searchpath_t *srch = searchpathhead; srch; srch = next) { + next = srch->next; + if (srch->user & usermask) { + if (srch == searchpathhead) searchpathhead = srch->next; else