Commit 5b9c3547 authored by Dick Hollenbeck's avatar Dick Hollenbeck

wxFileName::CreateTemporaryFile() is switching to /tmp directory when no preceding path is present

parent a4de3018
...@@ -4091,12 +4091,18 @@ void FPL_CACHE::Save() ...@@ -4091,12 +4091,18 @@ void FPL_CACHE::Save()
_( "Legacy library file '%s' is read only" ), m_lib_name.GetData() ) ); _( "Legacy library file '%s' is read only" ), m_lib_name.GetData() ) );
} }
wxString tempFileName = wxFileName::CreateTempFileName( m_lib_name ); wxString tempFileName;
// wxLogDebug( "tempFileName:'%s'\n", TO_UTF8( tempFileName ) );
// a block {} scope to fire wxFFile wxf()'s destructor // a block {} scope to fire wxFFile wxf()'s destructor
{ {
// CreateTempFileName works better with an absolute path
wxFileName abs_lib_name( m_lib_name );
abs_lib_name.MakeAbsolute();
tempFileName = wxFileName::CreateTempFileName( abs_lib_name.GetFullPath() );
wxLogDebug( "tempFileName:'%s' m_lib_name:'%s'\n", TO_UTF8( tempFileName ), TO_UTF8( m_lib_name ) );
FILE* fp = wxFopen( tempFileName, wxT( "w" ) ); FILE* fp = wxFopen( tempFileName, wxT( "w" ) );
if( !fp ) if( !fp )
{ {
...@@ -4110,7 +4116,7 @@ void FPL_CACHE::Save() ...@@ -4110,7 +4116,7 @@ void FPL_CACHE::Save()
wxFFile wxf( fp ); wxFFile wxf( fp );
SaveHeader( fp ); SaveHeader( fp );
SaveIndex( fp ); SaveIndex( fp );
SaveModules( fp ); SaveModules( fp );
SaveEndOfFile( fp ); SaveEndOfFile( fp );
} }
...@@ -4123,7 +4129,7 @@ void FPL_CACHE::Save() ...@@ -4123,7 +4129,7 @@ void FPL_CACHE::Save()
if( wxRename( tempFileName, m_lib_name ) ) if( wxRename( tempFileName, m_lib_name ) )
{ {
THROW_IO_ERROR( wxString::Format( THROW_IO_ERROR( wxString::Format(
_( "Unable to rename tempfile '%s' to to library file '%s'" ), _( "Unable to rename tempfile '%s' to library file '%s'" ),
tempFileName.GetData(), tempFileName.GetData(),
m_lib_name.GetData() ) ); m_lib_name.GetData() ) );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment