cnt = m_BookRecords.GetCount();
for (i = 0; i < cnt; i++)
{
- f = fsys.OpenFile(m_BookRecords[i].GetBasePath() + x);
+ f = fsys.OpenFile(wxAddBasePath(m_BookRecords[i].GetBasePath(), x));
if (f)
{
- url = m_BookRecords[i].GetBasePath() + x;
+ url = wxAddBasePath(m_BookRecords[i].GetBasePath(), x);
delete f;
return url;
}
{
if (m_BookRecords[i].GetTitle() == x)
{
- url = m_BookRecords[i].GetBasePath() + m_BookRecords[i].GetStart();
+ url = wxAddBasePath(m_BookRecords[i].GetBasePath(), m_BookRecords[i].GetStart());
return url;
}
}
{
if (wxStrcmp(m_Contents[i].m_Name, x) == 0)
{
- url = m_Contents[i].m_Book->GetBasePath() + m_Contents[i].m_Page;
+ url = wxAddBasePath(m_Contents[i].m_Book->GetBasePath(), m_Contents[i].m_Page);
return url;
}
}
{
if (wxStrcmp(m_Index[i].m_Name, x) == 0)
{
- url = m_Index[i].m_Book->GetBasePath() + m_Index[i].m_Page;
+ url = wxAddBasePath(m_Index[i].m_Book->GetBasePath(), m_Index[i].m_Page);
return url;
}
}
{
if (m_Contents[i].m_ID == id)
{
- url = m_Contents[i].m_Book->GetBasePath() + m_Contents[i].m_Page;
+ url = wxAddBasePath(m_Contents[i].m_Book->GetBasePath(), m_Contents[i].m_Page);
return url;
}
}
else m_LastPage = thepage;
wxFileSystem fsys;
- file = fsys.OpenFile(m_Data->m_Contents[i].m_Book->GetBasePath() + thepage);
+ file = fsys.OpenFile(wxAddBasePath(m_Data->m_Contents[i].m_Book->GetBasePath(), thepage));
if (file)
{
if (m_Engine.Scan(file->GetStream())) {
return found;
}
+// Utility function
+wxString wxAddBasePath(const wxString& basePath, const wxString& path)
+{
+ if (wxIsAbsolutePath(path))
+ return path;
+ else
+ return basePath + path;
+}