From 4e8b27a1e91e534733812ea1b37987e18466477b Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sun, 9 Jul 2023 20:05:47 +0200 Subject: [PATCH] Allow overriding path separator to list generated by 'RecursiveFindFilesMatchingName' --- r5dev/public/tier2/fileutils.h | 2 +- r5dev/tier2/fileutils.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/r5dev/public/tier2/fileutils.h b/r5dev/public/tier2/fileutils.h index 92964ba9..9ae60ba2 100644 --- a/r5dev/public/tier2/fileutils.h +++ b/r5dev/public/tier2/fileutils.h @@ -24,7 +24,7 @@ void ComputeModFilename( const char *pContentFileName, char *pBuf, size_t nBufLe void ComputeModContentFilename( const char *pGameFileName, char *pBuf, size_t nBufLen ); // Finds all files matching the a name within a directory and its sub directories. Output entries are paths to found files (relative to and including szStartDirectory). -void RecursiveFindFilesMatchingName( CUtlVector< CUtlString > *pOutFileList, const char* szStartDirectory, const char* szTargetFileName, const char *pPathID ); +void RecursiveFindFilesMatchingName( CUtlVector< CUtlString > *pOutFileList, const char* szStartDirectory, const char* szTargetFileName, const char *pPathID, char separator = CORRECT_PATH_SEPARATOR); // Builds a list of all files under a directory with a particular extension. void AddFilesToList( CUtlVector< CUtlString > &list, const char *pDirectory, const char *pPath = nullptr, const char *pExtension = nullptr ); diff --git a/r5dev/tier2/fileutils.cpp b/r5dev/tier2/fileutils.cpp index f44f4530..9073844a 100644 --- a/r5dev/tier2/fileutils.cpp +++ b/r5dev/tier2/fileutils.cpp @@ -113,7 +113,7 @@ void ComputeModContentFilename( const char *pGameFileName, char *pBuf, size_t nB // *szTargetFileName - // *pathID - //----------------------------------------------------------------------------- -void RecursiveFindFilesMatchingName( CUtlVector< CUtlString > *pOutFileList, const char* szStartDirectory, const char* szTargetFileName, const char *pPathID ) +void RecursiveFindFilesMatchingName( CUtlVector< CUtlString > *pOutFileList, const char* szStartDirectory, const char* szTargetFileName, const char *pPathID, char separator ) { char searchString[MAX_PATH]; Q_snprintf( searchString, sizeof( searchString ), "%s/*.*", szStartDirectory ); @@ -127,13 +127,13 @@ void RecursiveFindFilesMatchingName( CUtlVector< CUtlString > *pOutFileList, con { char newSearchPath[MAX_PATH]; Q_snprintf( newSearchPath, sizeof( newSearchPath ), "%s/%s", szStartDirectory, curFile ); - RecursiveFindFilesMatchingName( pOutFileList, newSearchPath, szTargetFileName, pPathID ); + RecursiveFindFilesMatchingName( pOutFileList, newSearchPath, szTargetFileName, pPathID, separator); } else if ( V_StringMatchesPattern( curFile, szTargetFileName ) ) { CUtlString outFile; outFile.Format( "%s/%s", szStartDirectory, curFile ); - V_FixSlashes( outFile.Get() ); + V_FixSlashes( outFile.Get(), separator ); pOutFileList->AddToTail( outFile ); }