diff --git a/Core/GameEngine/Source/Common/System/Debug.cpp b/Core/GameEngine/Source/Common/System/Debug.cpp index 55dcdcd65f2..bb4b885fc43 100644 --- a/Core/GameEngine/Source/Common/System/Debug.cpp +++ b/Core/GameEngine/Source/Common/System/Debug.cpp @@ -376,15 +376,9 @@ void DebugInit(int flags) char dirbuf[ _MAX_PATH ]; ::GetModuleFileName( NULL, dirbuf, sizeof( dirbuf ) ); - char *pEnd = dirbuf + strlen( dirbuf ); - while( pEnd != dirbuf ) + if (char *pEnd = strrchr(dirbuf, '\\')) { - if( *pEnd == '\\' ) - { - *(pEnd + 1) = 0; - break; - } - pEnd--; + *(pEnd + 1) = 0; } strcpy(theLogFileNamePrev, dirbuf); diff --git a/Core/GameEngine/Source/Common/System/GameMemoryInit.cpp b/Core/GameEngine/Source/Common/System/GameMemoryInit.cpp index 7a1b0de9484..14eb7762ce3 100644 --- a/Core/GameEngine/Source/Common/System/GameMemoryInit.cpp +++ b/Core/GameEngine/Source/Common/System/GameMemoryInit.cpp @@ -113,15 +113,9 @@ void userMemoryManagerInitPools() // we expect. so do it the hard way. char buf[_MAX_PATH]; ::GetModuleFileName(NULL, buf, sizeof(buf)); - char* pEnd = buf + strlen(buf); - while (pEnd != buf) + if (char* pEnd = strrchr(buf, '\\')) { - if (*pEnd == '\\') - { - *pEnd = 0; - break; - } - --pEnd; + *pEnd = 0; } strlcat(buf, "\\Data\\INI\\MemoryPools.ini", ARRAY_SIZE(buf)); diff --git a/Core/Tools/MapCacheBuilder/Source/WinMain.cpp b/Core/Tools/MapCacheBuilder/Source/WinMain.cpp index 677316fcb74..9a2d0adca3f 100644 --- a/Core/Tools/MapCacheBuilder/Source/WinMain.cpp +++ b/Core/Tools/MapCacheBuilder/Source/WinMain.cpp @@ -224,13 +224,8 @@ Int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, // Set the current directory to the app directory. char buf[_MAX_PATH]; GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); diff --git a/Generals/Code/GameEngine/Source/Common/MiniLog.cpp b/Generals/Code/GameEngine/Source/Common/MiniLog.cpp index eb51834b43a..6d13d9d36ea 100644 --- a/Generals/Code/GameEngine/Source/Common/MiniLog.cpp +++ b/Generals/Code/GameEngine/Source/Common/MiniLog.cpp @@ -36,15 +36,9 @@ LogClass::LogClass(const char *fname) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index 5f37576fa03..f0adfdf0073 100644 --- a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -99,15 +99,9 @@ LogClass::LogClass(const char *fname) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp index e0ef98d9ae4..561f507542e 100644 --- a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp +++ b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp @@ -147,15 +147,9 @@ StatDumpClass::StatDumpClass( const char *fname ) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/Generals/Code/Main/WinMain.cpp b/Generals/Code/Main/WinMain.cpp index 3eacc83fdff..303d6da1cec 100644 --- a/Generals/Code/Main/WinMain.cpp +++ b/Generals/Code/Main/WinMain.cpp @@ -774,15 +774,9 @@ Int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, /// @todo remove this force set of working directory later Char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - Char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (Char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } ::SetCurrentDirectory(buffer); diff --git a/Generals/Code/Tools/GUIEdit/Source/WinMain.cpp b/Generals/Code/Tools/GUIEdit/Source/WinMain.cpp index 9cfb49d2047..bc6a055d5ea 100644 --- a/Generals/Code/Tools/GUIEdit/Source/WinMain.cpp +++ b/Generals/Code/Tools/GUIEdit/Source/WinMain.cpp @@ -187,15 +187,9 @@ Int APIENTRY WinMain(HINSTANCE hInstance, /// @todo remove this force set of working directory later Char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - Char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (Char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } ::SetCurrentDirectory(buffer); diff --git a/Generals/Code/Tools/WorldBuilder/src/BuildList.cpp b/Generals/Code/Tools/WorldBuilder/src/BuildList.cpp index a1dcb05cc1f..60b84283992 100644 --- a/Generals/Code/Tools/WorldBuilder/src/BuildList.cpp +++ b/Generals/Code/Tools/WorldBuilder/src/BuildList.cpp @@ -739,15 +739,9 @@ void BuildList::OnExport() try { char dirbuf[ _MAX_PATH ]; ::GetModuleFileName( NULL, dirbuf, sizeof( dirbuf ) ); - char *pEnd = dirbuf + strlen( dirbuf ); - while( pEnd != dirbuf ) + if (char *pEnd = strrchr(dirbuf, '\\')) { - if( *pEnd == '\\' ) - { - *(pEnd + 1) = 0; - break; - } - pEnd--; + *(pEnd + 1) = 0; } char curbuf[ _MAX_PATH ]; diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp b/Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp index fb6899d7083..44b8dbad835 100644 --- a/Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp +++ b/Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp @@ -1140,13 +1140,8 @@ void ScriptDialog::OnSave() // change it back. char buf[_MAX_PATH]; ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); if (IDCANCEL==result) { @@ -1357,13 +1352,8 @@ void ScriptDialog::OnLoad() // change it back. char buf[_MAX_PATH]; ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } CWorldBuilderDoc* pDoc = CWorldBuilderDoc::GetActiveDoc(); ::SetCurrentDirectory(buf); diff --git a/Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp b/Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp index 10a160c18af..fa278f7ebe0 100644 --- a/Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp +++ b/Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp @@ -316,13 +316,8 @@ BOOL CWorldBuilderApp::InitInstance() // Set the current directory to the app directory. char buf[_MAX_PATH]; GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); diff --git a/Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp b/Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp index a4364d5f242..b47f959dee9 100644 --- a/Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp +++ b/Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp @@ -1359,13 +1359,8 @@ BOOL CWorldBuilderDoc::OnOpenDocument(LPCTSTR lpszPathName) WbApp()->setCurrentDirectory(AsciiString(buf)); ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); @@ -2105,15 +2100,9 @@ void CWorldBuilderDoc::OnDumpDocToText(void) try { char dirbuf[ _MAX_PATH ]; ::GetModuleFileName( NULL, dirbuf, sizeof( dirbuf ) ); - char *pEnd = dirbuf + strlen( dirbuf ); - while( pEnd != dirbuf ) + if (char *pEnd = strrchr(dirbuf, '\\')) { - if( *pEnd == '\\' ) - { - *(pEnd + 1) = 0; - break; - } - pEnd--; + *(pEnd + 1) = 0; } char curbuf[ _MAX_PATH ]; diff --git a/GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp b/GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp index 2080dcf2789..034466c45df 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/MiniLog.cpp @@ -36,15 +36,9 @@ LogClass::LogClass(const char *fname) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index ba994253f31..a0377339765 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -99,15 +99,9 @@ LogClass::LogClass(const char *fname) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp index 61a20797cf7..32a9be834f4 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp @@ -148,15 +148,9 @@ StatDumpClass::StatDumpClass( const char *fname ) { char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } // TheSuperHackers @fix Caball009 03/06/2025 Don't use AsciiString here anymore because its memory allocator may not have been initialized yet. const std::string fullPath = std::string(buffer) + "\\" + fname; diff --git a/GeneralsMD/Code/Main/WinMain.cpp b/GeneralsMD/Code/Main/WinMain.cpp index e23d4e4b440..6017276941f 100644 --- a/GeneralsMD/Code/Main/WinMain.cpp +++ b/GeneralsMD/Code/Main/WinMain.cpp @@ -801,15 +801,9 @@ Int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, /// @todo remove this force set of working directory later Char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - Char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (Char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } ::SetCurrentDirectory(buffer); diff --git a/GeneralsMD/Code/Tools/GUIEdit/Source/WinMain.cpp b/GeneralsMD/Code/Tools/GUIEdit/Source/WinMain.cpp index b6b4375057f..52ea538ae19 100644 --- a/GeneralsMD/Code/Tools/GUIEdit/Source/WinMain.cpp +++ b/GeneralsMD/Code/Tools/GUIEdit/Source/WinMain.cpp @@ -187,15 +187,9 @@ Int APIENTRY WinMain(HINSTANCE hInstance, /// @todo remove this force set of working directory later Char buffer[ _MAX_PATH ]; GetModuleFileName( NULL, buffer, sizeof( buffer ) ); - Char *pEnd = buffer + strlen( buffer ); - while( pEnd != buffer ) + if (Char *pEnd = strrchr(buffer, '\\')) { - if( *pEnd == '\\' ) - { - *pEnd = 0; - break; - } - pEnd--; + *pEnd = 0; } ::SetCurrentDirectory(buffer); diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/BuildList.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/BuildList.cpp index 0fdd34cb72f..3bdd2bc0aad 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/BuildList.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/BuildList.cpp @@ -739,15 +739,9 @@ void BuildList::OnExport() try { char dirbuf[ _MAX_PATH ]; ::GetModuleFileName( NULL, dirbuf, sizeof( dirbuf ) ); - char *pEnd = dirbuf + strlen( dirbuf ); - while( pEnd != dirbuf ) + if (char *pEnd = strrchr(dirbuf, '\\')) { - if( *pEnd == '\\' ) - { - *(pEnd + 1) = 0; - break; - } - pEnd--; + *(pEnd + 1) = 0; } char curbuf[ _MAX_PATH ]; diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/ScriptDialog.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/ScriptDialog.cpp index 7c02ae3fbe9..001fd9c4395 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/ScriptDialog.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/ScriptDialog.cpp @@ -1295,13 +1295,8 @@ void ScriptDialog::OnSave() // change it back. char buf[_MAX_PATH]; ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); if (IDCANCEL==result) { @@ -1519,13 +1514,8 @@ void ScriptDialog::OnLoad() // change it back. char buf[_MAX_PATH]; ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } CWorldBuilderDoc* pDoc = CWorldBuilderDoc::GetActiveDoc(); ::SetCurrentDirectory(buf); diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilder.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilder.cpp index 2a81f78d5c0..3eaf249a1c3 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilder.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilder.cpp @@ -328,13 +328,8 @@ BOOL CWorldBuilderApp::InitInstance() // Set the current directory to the app directory. char buf[_MAX_PATH]; GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp index 52bed9d22ca..0dc41750737 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp @@ -1416,13 +1416,8 @@ BOOL CWorldBuilderDoc::OnOpenDocument(LPCTSTR lpszPathName) WbApp()->setCurrentDirectory(AsciiString(buf)); ::GetModuleFileName(NULL, buf, sizeof(buf)); - char *pEnd = buf + strlen(buf); - while (pEnd != buf) { - if (*pEnd == '\\') { - *pEnd = 0; - break; - } - pEnd--; + if (char *pEnd = strrchr(buf, '\\')) { + *pEnd = 0; } ::SetCurrentDirectory(buf); @@ -2162,15 +2157,9 @@ void CWorldBuilderDoc::OnDumpDocToText(void) try { char dirbuf[ _MAX_PATH ]; ::GetModuleFileName( NULL, dirbuf, sizeof( dirbuf ) ); - char *pEnd = dirbuf + strlen( dirbuf ); - while( pEnd != dirbuf ) + if (char *pEnd = strrchr(dirbuf, '\\')) { - if( *pEnd == '\\' ) - { - *(pEnd + 1) = 0; - break; - } - pEnd--; + *(pEnd + 1) = 0; } char curbuf[ _MAX_PATH ];