Replace wxFile usage with wxFFile
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
This commit is contained in:
parent
dab254580a
commit
d67cf2f9af
|
@ -27,6 +27,7 @@
|
||||||
#include <gal/color4d.h>
|
#include <gal/color4d.h>
|
||||||
#include <wx/clipbrd.h>
|
#include <wx/clipbrd.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
WX_HTML_REPORT_PANEL::WX_HTML_REPORT_PANEL( wxWindow* parent,
|
WX_HTML_REPORT_PANEL::WX_HTML_REPORT_PANEL( wxWindow* parent,
|
||||||
wxWindowID id,
|
wxWindowID id,
|
||||||
|
@ -335,7 +336,7 @@ void WX_HTML_REPORT_PANEL::onBtnSaveToFile( wxCommandEvent& event )
|
||||||
if( fn.GetExt().IsEmpty() )
|
if( fn.GetExt().IsEmpty() )
|
||||||
fn.SetExt( "txt" );
|
fn.SetExt( "txt" );
|
||||||
|
|
||||||
wxFile f( fn.GetFullPath(), wxFile::write );
|
wxFFile f( fn.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( !f.IsOpened() )
|
if( !f.IsOpened() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -335,7 +335,7 @@ void ReadHotKeyConfig( wxString fileName, std::map<std::string, int>& aHotKeys )
|
||||||
if( !wxFile::Exists( fileName ) )
|
if( !wxFile::Exists( fileName ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxFile file( fileName, wxFile::OpenMode::read );
|
wxFFile file( fileName, "rb" );
|
||||||
|
|
||||||
if( !file.IsOpened() ) // There is a problem to open file
|
if( !file.IsOpened() ) // There is a problem to open file
|
||||||
return;
|
return;
|
||||||
|
@ -418,15 +418,13 @@ int ReadLegacyHotkeyConfigFile( const wxString& aFilename, std::map<std::string,
|
||||||
if( !wxFile::Exists( fn.GetFullPath() ) )
|
if( !wxFile::Exists( fn.GetFullPath() ) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
wxFile cfgfile( fn.GetFullPath() );
|
wxFFile cfgfile( fn.GetFullPath(), "rb" );
|
||||||
|
|
||||||
if( !cfgfile.IsOpened() ) // There is a problem to open file
|
if( !cfgfile.IsOpened() ) // There is a problem to open file
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// get length
|
// get length
|
||||||
cfgfile.SeekEnd();
|
wxFileOffset size = cfgfile.Length();
|
||||||
wxFileOffset size = cfgfile.Tell();
|
|
||||||
cfgfile.Seek( 0 );
|
|
||||||
|
|
||||||
// read data
|
// read data
|
||||||
std::vector<char> buffer( size );
|
std::vector<char> buffer( size );
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <page_layout/ws_draw_item.h>
|
#include <page_layout/ws_draw_item.h>
|
||||||
#include <page_layout/ws_painter.h>
|
#include <page_layout/ws_painter.h>
|
||||||
#include <page_layout/page_layout_reader_lexer.h>
|
#include <page_layout/page_layout_reader_lexer.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
#include <wx/file.h>
|
#include <wx/file.h>
|
||||||
#include <wx/mstream.h>
|
#include <wx/mstream.h>
|
||||||
|
@ -837,7 +838,7 @@ void WS_DATA_MODEL::SetPageLayout( const wxString& aFullFileName, bool Append )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxFile wksFile( fullFileName );
|
wxFFile wksFile( fullFileName, "rb" );
|
||||||
|
|
||||||
if( ! wksFile.IsOpened() )
|
if( ! wksFile.IsOpened() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "bom_plugins.h"
|
#include "bom_plugins.h"
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
BOM_GENERATOR_HANDLER::BOM_GENERATOR_HANDLER( const wxString& aFile )
|
BOM_GENERATOR_HANDLER::BOM_GENERATOR_HANDLER( const wxString& aFile )
|
||||||
: m_file( aFile )
|
: m_file( aFile )
|
||||||
|
@ -95,7 +96,7 @@ wxString BOM_GENERATOR_HANDLER::readHeader( const wxString& aEndSection )
|
||||||
if( aEndSection.IsEmpty() )
|
if( aEndSection.IsEmpty() )
|
||||||
return wxEmptyString;
|
return wxEmptyString;
|
||||||
|
|
||||||
wxFile fdata( m_file.GetFullPath() ); // dtor will close the file
|
wxFFile fdata( m_file.GetFullPath(), "rb" ); // dtor will close the file
|
||||||
wxString data;
|
wxString data;
|
||||||
|
|
||||||
if( !fdata.ReadAll( &data ) )
|
if( !fdata.ReadAll( &data ) )
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
#include <sexpr/sexpr_parser.h>
|
#include <sexpr/sexpr_parser.h>
|
||||||
#include <kiface_ids.h>
|
#include <kiface_ids.h>
|
||||||
#include <netlist_exporters/netlist_exporter_kicad.h>
|
#include <netlist_exporters/netlist_exporter_kicad.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
#include <schematic.h>
|
#include <schematic.h>
|
||||||
#include <connection_graph.h>
|
#include <connection_graph.h>
|
||||||
|
@ -377,12 +378,12 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
wxFile destNetList( destFile.GetFullPath(), wxFile::write );
|
wxFFile destNetList( destFile.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( destNetList.IsOpened() )
|
if( destNetList.IsOpened() )
|
||||||
success = destNetList.Write( sexpr->AsString( 0 ) );
|
success = destNetList.Write( sexpr->AsString( 0 ) );
|
||||||
|
|
||||||
// wxFile dtor will close the file
|
// wxFFile dtor will close the file
|
||||||
}
|
}
|
||||||
catch( ... )
|
catch( ... )
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
#include <widgets/infobar.h>
|
#include <widgets/infobar.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
#include <page_layout/ws_data_model.h>
|
#include <page_layout/ws_data_model.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
#include <wx/stdpaths.h>
|
#include <wx/stdpaths.h>
|
||||||
#include <tools/ee_inspection_tool.h>
|
#include <tools/ee_inspection_tool.h>
|
||||||
|
|
||||||
|
@ -927,9 +928,9 @@ bool SCH_EDIT_FRAME::importFile( const wxString& aFileName, int aFileType )
|
||||||
|
|
||||||
BASE_SCREEN::m_PageLayoutDescrFileName = "empty.kicad_wks";
|
BASE_SCREEN::m_PageLayoutDescrFileName = "empty.kicad_wks";
|
||||||
wxFileName layoutfn( Prj().GetProjectPath(), BASE_SCREEN::m_PageLayoutDescrFileName );
|
wxFileName layoutfn( Prj().GetProjectPath(), BASE_SCREEN::m_PageLayoutDescrFileName );
|
||||||
wxFile layoutfile;
|
wxFFile layoutfile;
|
||||||
|
|
||||||
if( layoutfile.Create( layoutfn.GetFullPath() ) )
|
if( layoutfile.Open( layoutfn.GetFullPath(), "wb" ) )
|
||||||
{
|
{
|
||||||
layoutfile.Write( WS_DATA_MODEL::EmptyLayout() );
|
layoutfile.Write( WS_DATA_MODEL::EmptyLayout() );
|
||||||
layoutfile.Close();
|
layoutfile.Close();
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include <tool/tool_manager.h>
|
#include <tool/tool_manager.h>
|
||||||
#include <tools/ee_actions.h>
|
#include <tools/ee_actions.h>
|
||||||
#include <eeschema_settings.h>
|
#include <eeschema_settings.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
SIM_PLOT_TYPE operator|( SIM_PLOT_TYPE aFirst, SIM_PLOT_TYPE aSecond )
|
SIM_PLOT_TYPE operator|( SIM_PLOT_TYPE aFirst, SIM_PLOT_TYPE aSecond )
|
||||||
{
|
{
|
||||||
|
@ -1099,7 +1100,7 @@ void SIM_PLOT_FRAME::menuSaveCsv( wxCommandEvent& event )
|
||||||
if( saveDlg.ShowModal() == wxID_CANCEL )
|
if( saveDlg.ShowModal() == wxID_CANCEL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxFile out( saveDlg.GetPath(), wxFile::write );
|
wxFFile out( saveDlg.GetPath(), "wb" );
|
||||||
bool timeWritten = false;
|
bool timeWritten = false;
|
||||||
|
|
||||||
for( const auto& t : CurrentPlot()->GetTraces() )
|
for( const auto& t : CurrentPlot()->GetTraces() )
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
#include <settings/settings_manager.h>
|
#include <settings/settings_manager.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
using json = nlohmann::json;
|
using json = nlohmann::json;
|
||||||
|
|
||||||
|
@ -207,12 +208,12 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxFile destJobFile( destFile.GetFullPath(), wxFile::write );
|
wxFFile destJobFile( destFile.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( destJobFile.IsOpened() )
|
if( destJobFile.IsOpened() )
|
||||||
success = destJobFile.Write( js.dump( 0 ) );
|
success = destJobFile.Write( js.dump( 0 ) );
|
||||||
|
|
||||||
// wxFile dtor will close the file
|
// wxFFile dtor will close the file
|
||||||
}
|
}
|
||||||
catch( ... )
|
catch( ... )
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,6 +49,8 @@
|
||||||
#include <tools/kicad_manager_control.h>
|
#include <tools/kicad_manager_control.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
#include <widgets/app_progress_dialog.h>
|
#include <widgets/app_progress_dialog.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
|
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
#include <MacTypes.h>
|
#include <MacTypes.h>
|
||||||
|
@ -474,11 +476,11 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName,
|
||||||
if( !wxFileName::FileExists( srcFileName )
|
if( !wxFileName::FileExists( srcFileName )
|
||||||
|| !wxCopyFile( srcFileName, destFileName.GetFullPath() ) )
|
|| !wxCopyFile( srcFileName, destFileName.GetFullPath() ) )
|
||||||
{
|
{
|
||||||
wxFile file( destFileName.GetFullPath(), wxFile::write );
|
wxFFile file( destFileName.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( file.IsOpened() )
|
if( file.IsOpened() )
|
||||||
file.Write( wxT( "{\n}\n") );
|
file.Write( wxT( "{\n}\n") );
|
||||||
// wxFile dtor will close the file
|
// wxFFile dtor will close the file
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -494,7 +496,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName,
|
||||||
// If a <project>.kicad_sch file does not exist, create a "stub" file ( minimal schematic file )
|
// If a <project>.kicad_sch file does not exist, create a "stub" file ( minimal schematic file )
|
||||||
if( !fn.FileExists() )
|
if( !fn.FileExists() )
|
||||||
{
|
{
|
||||||
wxFile file( fn.GetFullPath(), wxFile::write );
|
wxFFile file( fn.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( file.IsOpened() )
|
if( file.IsOpened() )
|
||||||
file.Write( wxT( "(kicad_sch (version 20200310) (host eeschema \"unknown\")\n"
|
file.Write( wxT( "(kicad_sch (version 20200310) (host eeschema \"unknown\")\n"
|
||||||
|
@ -502,7 +504,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName,
|
||||||
" (symbol_instances)\n)\n" ) );
|
" (symbol_instances)\n)\n" ) );
|
||||||
|
|
||||||
|
|
||||||
// wxFile dtor will close the file
|
// wxFFile dtor will close the file
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a <project>.kicad_pcb or <project>.brd file does not exist,
|
// If a <project>.kicad_pcb or <project>.brd file does not exist,
|
||||||
|
@ -513,12 +515,12 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName,
|
||||||
|
|
||||||
if( !fn.FileExists() && !leg_fn.FileExists() )
|
if( !fn.FileExists() && !leg_fn.FileExists() )
|
||||||
{
|
{
|
||||||
wxFile file( fn.GetFullPath(), wxFile::write );
|
wxFFile file( fn.GetFullPath(), "wb" );
|
||||||
|
|
||||||
if( file.IsOpened() )
|
if( file.IsOpened() )
|
||||||
file.Write( wxT( "(kicad_pcb (version 4) (host kicad \"dummy file\") )\n" ) );
|
file.Write( wxT( "(kicad_pcb (version 4) (host kicad \"dummy file\") )\n" ) );
|
||||||
|
|
||||||
// wxFile dtor will close the file
|
// wxFFile dtor will close the file
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <streambuf>
|
#include <streambuf>
|
||||||
#include <wx/file.h>
|
#include <wx/file.h>
|
||||||
|
#include <wx/ffile.h>
|
||||||
|
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
||||||
|
@ -62,7 +63,7 @@ namespace SEXPR
|
||||||
// the filename is not always a UTF7 string, so do not use ifstream
|
// the filename is not always a UTF7 string, so do not use ifstream
|
||||||
// that do not work with unicode chars.
|
// that do not work with unicode chars.
|
||||||
wxString fname( FROM_UTF8( aFileName.c_str() ) );
|
wxString fname( FROM_UTF8( aFileName.c_str() ) );
|
||||||
wxFile file( fname );
|
wxFFile file( fname, "rb" );
|
||||||
size_t length = file.Length();
|
size_t length = file.Length();
|
||||||
|
|
||||||
if( length <= 0 )
|
if( length <= 0 )
|
||||||
|
|
Loading…
Reference in New Issue