Index: core/fpdfdoc/doc_basic.cpp |
diff --git a/core/fpdfdoc/doc_basic.cpp b/core/fpdfdoc/doc_basic.cpp |
index 9318387f7f6725b92136eabb2a88d36872002755..308bf042875b3fcfab0cb820754e37464de78603 100644 |
--- a/core/fpdfdoc/doc_basic.cpp |
+++ b/core/fpdfdoc/doc_basic.cpp |
@@ -315,23 +315,27 @@ bool CPDF_FileSpec::GetFileName(CFX_WideString* csFileName) const { |
if (CPDF_Dictionary* pDict = m_pObj->AsDictionary()) { |
*csFileName = pDict->GetUnicodeTextBy("UF"); |
if (csFileName->IsEmpty()) { |
- *csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("F")); |
+ *csFileName = CFX_WideString::FromLocal(pDict->GetConstStringBy("F")); |
} |
if (pDict->GetStringBy("FS") == "URL") |
return true; |
if (csFileName->IsEmpty()) { |
if (pDict->KeyExist("DOS")) { |
- *csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("DOS")); |
+ *csFileName = CFX_WideString::FromLocal( |
+ pDict->GetStringBy("DOS").AsByteStringC()); |
} else if (pDict->KeyExist("Mac")) { |
- *csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("Mac")); |
+ *csFileName = CFX_WideString::FromLocal( |
+ pDict->GetStringBy("Mac").AsByteStringC()); |
} else if (pDict->KeyExist("Unix")) { |
- *csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("Unix")); |
+ *csFileName = CFX_WideString::FromLocal( |
+ pDict->GetStringBy("Unix").AsByteStringC()); |
} else { |
return false; |
} |
} |
} else if (m_pObj->IsString()) { |
- *csFileName = CFX_WideString::FromLocal(m_pObj->GetString()); |
+ *csFileName = |
+ CFX_WideString::FromLocal(m_pObj->GetString().AsByteStringC()); |
} else { |
return false; |
} |