From a5e3c79402cea2918663626933826c3a5a785286 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Tue, 22 May 2007 03:39:18 +0000 Subject: [PATCH] Wow, how did this go unnoticed: Fixed ILibrarySys::GetFileExtension() and loading plugins without the "smx" extension. --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40835 --- core/systems/LibrarySys.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/core/systems/LibrarySys.cpp b/core/systems/LibrarySys.cpp index af956f23..d70fd182 100644 --- a/core/systems/LibrarySys.cpp +++ b/core/systems/LibrarySys.cpp @@ -325,16 +325,21 @@ size_t LibrarySystem::PathFormat(char *buffer, size_t len, const char *fmt, ...) const char *LibrarySystem::GetFileExtension(const char *filename) { - size_t len = strlen(filename); + size_t end = strlen(filename) - 1; - for (size_t i = len - 1; i >= 0; i--) + for (size_t i = end; i >= 0; i--) { - if (filename[i] == PLATFORM_SEP_CHAR || filename[i] == PLATFORM_SEP_ALTCHAR) + if (i > end) { - return NULL; + break; } - if (filename[i] == '.' && i != len - 1) + if (filename[i] == PLATFORM_SEP_CHAR || filename[i] == PLATFORM_SEP_ALTCHAR) + { + break; + } + + if (filename[i] == '.' && i != end) { return &filename[++i]; }