diff options
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fgas/font/fgas_stdfontmgr.cpp | 24 | ||||
-rw-r--r-- | xfa/fgas/font/fgas_stdfontmgr.h | 2 |
2 files changed, 9 insertions, 17 deletions
diff --git a/xfa/fgas/font/fgas_stdfontmgr.cpp b/xfa/fgas/font/fgas_stdfontmgr.cpp index de72628760..59bd272a93 100644 --- a/xfa/fgas/font/fgas_stdfontmgr.cpp +++ b/xfa/fgas/font/fgas_stdfontmgr.cpp @@ -486,15 +486,13 @@ CFX_FontSourceEnum_File::CFX_FontSourceEnum_File() { CFX_FontSourceEnum_File::~CFX_FontSourceEnum_File() {} CFX_ByteString CFX_FontSourceEnum_File::GetNextFile() { -Restart: - void* pCurHandle = + FX_FileHandle* pCurHandle = m_FolderQueue.GetSize() != 0 ? m_FolderQueue.GetDataPtr(m_FolderQueue.GetSize() - 1)->pFileHandle : nullptr; if (!pCurHandle) { - if (m_FolderPaths.GetSize() < 1) { + if (m_FolderPaths.GetSize() < 1) return ""; - } pCurHandle = FX_OpenFolder(m_FolderPaths[m_FolderPaths.GetSize() - 1].c_str()); FX_HandleParentPath hpp; @@ -503,37 +501,31 @@ Restart: m_FolderQueue.Add(hpp); } CFX_ByteString bsName; - FX_BOOL bFolder; + bool bFolder; CFX_ByteString bsFolderSpearator = CFX_ByteString::FromUnicode(CFX_WideString(FX_GetFolderSeparator())); - while (TRUE) { - if (!FX_GetNextFile(pCurHandle, bsName, bFolder)) { + while (true) { + if (!FX_GetNextFile(pCurHandle, &bsName, &bFolder)) { FX_CloseFolder(pCurHandle); m_FolderQueue.RemoveAt(m_FolderQueue.GetSize() - 1); if (m_FolderQueue.GetSize() == 0) { m_FolderPaths.RemoveAt(m_FolderPaths.GetSize() - 1); - if (m_FolderPaths.GetSize() == 0) { - return ""; - } else { - goto Restart; - } + return m_FolderPaths.GetSize() != 0 ? GetNextFile() : ""; } pCurHandle = m_FolderQueue.GetDataPtr(m_FolderQueue.GetSize() - 1)->pFileHandle; continue; } - if (bsName == "." || bsName == "..") { + if (bsName == "." || bsName == "..") continue; - } if (bFolder) { FX_HandleParentPath hpp; hpp.bsParentPath = m_FolderQueue.GetDataPtr(m_FolderQueue.GetSize() - 1)->bsParentPath + bsFolderSpearator + bsName; hpp.pFileHandle = FX_OpenFolder(hpp.bsParentPath.c_str()); - if (!hpp.pFileHandle) { + if (!hpp.pFileHandle) continue; - } m_FolderQueue.Add(hpp); pCurHandle = hpp.pFileHandle; continue; diff --git a/xfa/fgas/font/fgas_stdfontmgr.h b/xfa/fgas/font/fgas_stdfontmgr.h index 9d5cb68070..785a47f854 100644 --- a/xfa/fgas/font/fgas_stdfontmgr.h +++ b/xfa/fgas/font/fgas_stdfontmgr.h @@ -122,7 +122,7 @@ struct FX_HandleParentPath { pFileHandle = x.pFileHandle; bsParentPath = x.bsParentPath; } - void* pFileHandle; + FX_FileHandle* pFileHandle; CFX_ByteString bsParentPath; }; |