static void Pass1ResFileShutdown( void ) /**************************************/ { bool error; error = false; if( CurrResFile.fp != NULL ) { if( CmdLineParms.TargetOS == RC_TARGET_OS_OS2 ) { WriteOS2Tables(); } else { WriteWINTables(); } if( !ErrorHasOccured ) { if( CurrResFile.IsWatcomRes ) { error = WResWriteDir( CurrResFile.fp, CurrResFile.dir ); if( error ) { RcError( ERR_WRITTING_RES_FILE, CurrResFile.filename, LastWresErrStr() ); } } if( !error ) { ChangeTmpToOutFile( CurrResFile.fp, CmdLineParms.OutResFileName ); } } if( CurrResFile.dir != NULL ) { WResFreeDir( CurrResFile.dir ); CurrResFile.dir = NULL; } if( ResCloseFile( CurrResFile.fp ) ) { RcError( ERR_CLOSING_TMP, CurrResFile.filename, LastWresErrStr() ); } CurrResFile.fp = NULL; } } /* Pass1ResFileShutdown */
static void Pass1ResFileShutdown( void ) /**************************************/ { int error; error = FALSE; if( CurrResFile.IsOpen ) { if( CmdLineParms.TargetOS == RC_TARGET_OS_OS2 ) WriteOS2Tables(); else WriteTables(); if( ErrorHasOccured ) { ResCloseFile( CurrResFile.handle ); CurrResFile.IsOpen = false; RemoveCurrResFile(); } else { if (CurrResFile.IsWatcomRes) { error = WResWriteDir( CurrResFile.handle, CurrResFile.dir ); if( error ) { RcError( ERR_WRITTING_RES_FILE, CurrResFile.filename, LastWresErrStr() ); } } if( ResCloseFile( CurrResFile.handle ) == -1 ) { RcError( ERR_CLOSING_TMP, CurrResFile.filename, LastWresErrStr() ); remove( CurrResFile.filename ); UnregisterTmpFile( CurrResFile.filename ); } else if( !error ) { #ifdef USE_TEMPFILE ChangeTmpToOutFile( CurrResFile.filename, CmdLineParms.OutResFileName ); #endif } CurrResFile.IsOpen = false; } WResFreeDir( CurrResFile.dir ); CurrResFile.dir = NULL; } } /* Pass1ResFileShutdown */