always remember to test IsOk() after using wxFileInputStream
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -23,6 +23,8 @@ class wxTempFileOutputStream : public wxOutputStream
|
||||
public:
|
||||
/**
|
||||
Associates wxTempFileOutputStream with the file to be replaced and opens it.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
|
||||
Call Commit() or wxOutputStream::Close() to replace the old file and close
|
||||
@@ -69,7 +71,10 @@ class wxFFileOutputStream : public wxOutputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Initializes a file stream in write-only mode using the file descriptor @e fp.
|
||||
Open the given file @a filename with mode @a mode.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFFileOutputStream(const wxString& filename,
|
||||
const wxString& mode = "wb");
|
||||
@@ -116,7 +121,10 @@ class wxFileOutputStream : public wxOutputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Creates a new file with ofilename name and initializes the stream in write-only mode.
|
||||
Creates a new file with @a ofileName name and initializes the stream in write-only mode.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFileOutputStream(const wxString& ofileName);
|
||||
|
||||
@@ -162,7 +170,10 @@ class wxFileInputStream : public wxInputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Opens the specified file using its ifilename name in read-only mode.
|
||||
Opens the specified file using its @a ifileName name in read-only mode.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFileInputStream(const wxString& ifileName);
|
||||
|
||||
@@ -208,7 +219,10 @@ class wxFFileInputStream : public wxInputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Opens the specified file using its filename name using the specified mode.
|
||||
Opens the specified file using its @a filename name using the specified @a mode.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFFileInputStream(const wxString& filename,
|
||||
const wxString& mode = "rb");
|
||||
@@ -250,8 +264,11 @@ class wxFFileStream : public wxFFileOutputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Initializes a new file stream in read-write mode using the specified
|
||||
@a iofilename name.
|
||||
Initializes a new file stream in the given @a mode using the specified
|
||||
@a iofileName name.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFFileStream(const wxString& iofileName, const wxString& mode = "w+b");
|
||||
};
|
||||
@@ -273,7 +290,10 @@ class wxFileStream : public wxFileOutputStream
|
||||
public:
|
||||
/**
|
||||
Initializes a new file stream in read-write mode using the specified
|
||||
@a iofilename name.
|
||||
@a iofileName name.
|
||||
|
||||
@warning
|
||||
You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
|
||||
*/
|
||||
wxFileStream(const wxString& iofileName);
|
||||
};
|
||||
|
@@ -609,7 +609,7 @@ bool wxDocument::DoOpenDocument(const wxString& file)
|
||||
if ( !store )
|
||||
#else
|
||||
wxFileInputStream store(file);
|
||||
if (store.GetLastError() != wxSTREAM_NO_ERROR)
|
||||
if (store.GetLastError() != wxSTREAM_NO_ERROR || !store.IsOk())
|
||||
#endif
|
||||
{
|
||||
wxLogError(_("File \"%s\" could not be opened for reading."), file);
|
||||
|
@@ -138,7 +138,6 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
|
||||
m_refData = handler->Clone();
|
||||
return M_ANIMDATA->Load(stream);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
wxLogWarning( _("No handler found for animation type.") );
|
||||
@@ -309,6 +308,8 @@ wxAnimationCtrl::~wxAnimationCtrl()
|
||||
bool wxAnimationCtrl::LoadFile(const wxString& filename, wxAnimationType type)
|
||||
{
|
||||
wxFileInputStream fis(filename);
|
||||
if (!fis.Ok())
|
||||
return false;
|
||||
return Load(fis, type);
|
||||
}
|
||||
|
||||
|
@@ -238,6 +238,8 @@ wxAnimationCtrl::~wxAnimationCtrl()
|
||||
bool wxAnimationCtrl::LoadFile(const wxString &filename, wxAnimationType type)
|
||||
{
|
||||
wxFileInputStream fis(filename);
|
||||
if (!fis.IsOk())
|
||||
return false;
|
||||
return Load(fis, type);
|
||||
}
|
||||
|
||||
|
@@ -717,6 +717,9 @@ bool wxChmInputStream::CreateFileStream(const wxString& pattern)
|
||||
{
|
||||
// Open a filestream to extracted file
|
||||
fin = new wxFileInputStream(tmpfile);
|
||||
if (!fin->IsOk())
|
||||
return false;
|
||||
|
||||
m_size = fin->GetSize();
|
||||
m_content = (char *) malloc(m_size+1);
|
||||
fin->Read(m_content, m_size);
|
||||
|
@@ -1386,10 +1386,10 @@ bool wxXPMFileHandler::LoadFile(wxBitmap *bitmap, const wxString& name,
|
||||
#elif wxUSE_STREAMS
|
||||
wxXPMDecoder decoder;
|
||||
wxFileInputStream stream(name);
|
||||
if (stream.Ok())
|
||||
if (stream.IsOk())
|
||||
{
|
||||
wxImage image(decoder.ReadFile(stream));
|
||||
return image.Ok() && bitmap->CreateFromImage(image);
|
||||
return image.IsOk() && bitmap->CreateFromImage(image);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -497,7 +497,7 @@ bool wxXmlResource::UpdateResources()
|
||||
delete rec->Doc;
|
||||
rec->Doc = new wxXmlDocument;
|
||||
}
|
||||
if (!stream || !rec->Doc->Load(*stream, encoding))
|
||||
if (!stream || !stream->IsOk() || !rec->Doc->Load(*stream, encoding))
|
||||
{
|
||||
wxLogError(_("Cannot load resources from file '%s'."),
|
||||
rec->File);
|
||||
|
Reference in New Issue
Block a user