Use temporary variables to avoid warnings about casts
authorMikko Rasa <tdb@tdb.fi>
Wed, 2 Nov 2011 10:43:53 +0000 (12:43 +0200)
committerMikko Rasa <tdb@tdb.fi>
Wed, 2 Nov 2011 10:43:53 +0000 (12:43 +0200)
src/Preference.cpp

index 6717f7f..0974ded 100755 (executable)
@@ -34,43 +34,47 @@ void IPreference::SetFromStack( lua_State *L )
        lua_pop( L, 1 );
 }
 
-#define READFROM_AND_WRITETO( type, cast ) \
+#define READFROM_AND_WRITETO( type, rawtype ) \
        template<> void Preference<type>::FromString( const CString &s ) \
        { \
-               ::FromString( s, (cast)m_currentValue ); \
+               rawtype value; \
+               ::FromString( s, value ); \
+               m_currentValue = static_cast<type>(value); \
        } \
        template<> CString Preference<type>::ToString() const \
        { \
-               return ::ToString( (cast)m_currentValue ); \
+               return ::ToString( static_cast<rawtype>(m_currentValue) ); \
        } \
        template<> void Preference<type>::PushValue( lua_State *L ) const \
        { \
-               LuaHelpers::PushStack( (cast)m_currentValue, L ); \
+               LuaHelpers::PushStack( static_cast<rawtype>(m_currentValue), L ); \
        } \
        template<> void Preference<type>::SetFromStack( lua_State *L ) \
        { \
-               LuaHelpers::PopStack( (cast)m_currentValue, L ); \
+               rawtype value; \
+               LuaHelpers::PopStack( value, L ); \
+               m_currentValue = static_cast<type>(value); \
        }
 
-READFROM_AND_WRITETO( int, int& )
-READFROM_AND_WRITETO( float, float& )
-READFROM_AND_WRITETO( bool, bool& )
-READFROM_AND_WRITETO( CString, CString& )
-READFROM_AND_WRITETO( PrefsManager::BackgroundMode, int& )
-READFROM_AND_WRITETO( PrefsManager::BannerCache, int& )
-READFROM_AND_WRITETO( PrefsManager::MusicWheelUsesSections, int& )
-READFROM_AND_WRITETO( PrefsManager::MarvelousTiming, int& )
-READFROM_AND_WRITETO( CoinMode, int& )
-READFROM_AND_WRITETO( Premium, int& )
-READFROM_AND_WRITETO( PrefsManager::Maybe, int& )
-READFROM_AND_WRITETO( PrefsManager::CharacterOption, int& )
-READFROM_AND_WRITETO( PrefsManager::CourseSortOrders, int& )
-READFROM_AND_WRITETO( PrefsManager::GetRankingName, int& )
-READFROM_AND_WRITETO( PrefsManager::ScoringTypes, int& )
-READFROM_AND_WRITETO( PrefsManager::BoostAppPriority, int& )
-READFROM_AND_WRITETO( PrefsManager::AttractSoundFrequency, int& )
-READFROM_AND_WRITETO( PlayerController, int& )
-READFROM_AND_WRITETO( RageSoundReader_Resample::ResampleQuality, int& )
+READFROM_AND_WRITETO( int, int )
+READFROM_AND_WRITETO( float, float )
+READFROM_AND_WRITETO( bool, bool )
+READFROM_AND_WRITETO( CString, CString )
+READFROM_AND_WRITETO( PrefsManager::BackgroundMode, int )
+READFROM_AND_WRITETO( PrefsManager::BannerCache, int )
+READFROM_AND_WRITETO( PrefsManager::MusicWheelUsesSections, int )
+READFROM_AND_WRITETO( PrefsManager::MarvelousTiming, int )
+READFROM_AND_WRITETO( CoinMode, int )
+READFROM_AND_WRITETO( Premium, int )
+READFROM_AND_WRITETO( PrefsManager::Maybe, int )
+READFROM_AND_WRITETO( PrefsManager::CharacterOption, int )
+READFROM_AND_WRITETO( PrefsManager::CourseSortOrders, int )
+READFROM_AND_WRITETO( PrefsManager::GetRankingName, int )
+READFROM_AND_WRITETO( PrefsManager::ScoringTypes, int )
+READFROM_AND_WRITETO( PrefsManager::BoostAppPriority, int )
+READFROM_AND_WRITETO( PrefsManager::AttractSoundFrequency, int )
+READFROM_AND_WRITETO( PlayerController, int )
+READFROM_AND_WRITETO( RageSoundReader_Resample::ResampleQuality, int )
 
 void IPreference::ReadFrom( const IniFile &ini )
 {