From c189f5fdd91af97e4e8839d4a4e9d5bde94131a3 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 17 Mar 2005 23:43:13 +0000 Subject: [PATCH] split out OpenForReading --- stepmania/src/RageFileManager.cpp | 37 ++++++++++++++++++------------- stepmania/src/RageFileManager.h | 1 + 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/stepmania/src/RageFileManager.cpp b/stepmania/src/RageFileManager.cpp index 64a14dda7e..e3700e1b08 100644 --- a/stepmania/src/RageFileManager.cpp +++ b/stepmania/src/RageFileManager.cpp @@ -709,7 +709,28 @@ RageFileBasic *RageFileManager::Open( CString sPath, int mode, int &err ) * may be several that will work. */ if( mode & RageFile::WRITE ) return OpenForWriting( sPath, mode, err ); + else + return OpenForReading( sPath, mode, err ); +} +/* Copy a RageFileBasic for a new RageFile. */ +RageFileBasic *RageFileManager::CopyFileObj( const RageFileBasic *cpy ) +{ + LockMut( *g_Mutex ); + + FileReferences::const_iterator it = g_Refs.find( cpy ); + ASSERT_M( it != g_Refs.end(), ssprintf( "CopyFileObj: Missing reference (%s)", cpy->GetDisplayPath().c_str() ) ); + + RageFileBasic *ret = cpy->Copy(); + + /* It's from the same driver as the original. */ + AddReference( ret, it->second ); + + return ret; +} + +RageFileBasic *RageFileManager::OpenForReading( CString sPath, int mode, int &err ) +{ NormalizePath( sPath ); vector aDriverList; @@ -740,22 +761,6 @@ RageFileBasic *RageFileManager::Open( CString sPath, int mode, int &err ) return NULL; } -/* Copy a RageFileBasic for a new RageFile. */ -RageFileBasic *RageFileManager::CopyFileObj( const RageFileBasic *cpy ) -{ - LockMut( *g_Mutex ); - - FileReferences::const_iterator it = g_Refs.find( cpy ); - ASSERT_M( it != g_Refs.end(), ssprintf( "CopyFileObj: Missing reference (%s)", cpy->GetDisplayPath().c_str() ) ); - - RageFileBasic *ret = cpy->Copy(); - - /* It's from the same driver as the original. */ - AddReference( ret, it->second ); - - return ret; -} - RageFileBasic *RageFileManager::OpenForWriting( CString sPath, int mode, int &err ) { /* diff --git a/stepmania/src/RageFileManager.h b/stepmania/src/RageFileManager.h index 8318b9022d..ae435c4ae6 100644 --- a/stepmania/src/RageFileManager.h +++ b/stepmania/src/RageFileManager.h @@ -57,6 +57,7 @@ public: void ReleaseFileDriver( RageFileDriver *pDriver ); private: + RageFileBasic *OpenForReading( CString sPath, int mode, int &err ); RageFileBasic *OpenForWriting( CString sPath, int mode, int &err ); };