modified AddFile() to copy file to the debug report directory if its path is absolute

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-04-10 22:37:43 +00:00
parent b6afa1a38a
commit fdc1aa5209
3 changed files with 45 additions and 11 deletions

View File

@@ -252,23 +252,45 @@ wxString wxDebugReport::GetReportName() const
return _T("wx");
}
void wxDebugReport::AddFile(const wxString& name, const wxString& description)
void
wxDebugReport::AddFile(const wxString& filename, const wxString& description)
{
wxString name;
wxFileName fn(filename);
if ( fn.IsAbsolute() )
{
// we need to copy the file to the debug report directory: give it the
// same name there
name = fn.GetFullName();
wxCopyFile(fn.GetFullPath(),
wxFileName(GetDirectory(), name).GetFullPath());
}
else // file relative to the report directory
{
name = filename;
wxASSERT_MSG( wxFileName(GetDirectory(), name).FileExists(),
_T("file should exist in debug report directory") );
}
m_files.Add(name);
m_descriptions.Add(description);
}
bool
wxDebugReport::AddText(const wxString& name,
wxDebugReport::AddText(const wxString& filename,
const wxString& text,
const wxString& description)
{
wxFileName fn(GetDirectory(), name);
wxASSERT_MSG( !wxFileName(filename).IsAbsolute(),
_T("filename should be relative to debug report directory") );
wxFileName fn(GetDirectory(), filename);
wxFFile file(fn.GetFullPath(), _T("w"));
if ( !file.IsOpened() || !file.Write(text) )
return false;
AddFile(name, description);
AddFile(filename, description);
return true;
}