| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "../../../include/fpdfapi/fpdf_serial.h" | 7 #include "../../../include/fpdfapi/fpdf_serial.h" |
| 8 CFDF_Document::CFDF_Document() : CPDF_IndirectObjects(NULL) | 8 CFDF_Document::CFDF_Document() : CPDF_IndirectObjects(NULL) |
| 9 { | 9 { |
| 10 m_pRootDict = NULL; | 10 m_pRootDict = NULL; |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 ((CPDF_Dictionary*)pFileSpec)->RemoveAt(FX_BSTRC("FS")); | 151 ((CPDF_Dictionary*)pFileSpec)->RemoveAt(FX_BSTRC("FS")); |
| 152 } | 152 } |
| 153 } | 153 } |
| 154 CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec) | 154 CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec) |
| 155 { | 155 { |
| 156 CFX_WideString wsFileName; | 156 CFX_WideString wsFileName; |
| 157 if (pFileSpec->GetType() == PDFOBJ_DICTIONARY) { | 157 if (pFileSpec->GetType() == PDFOBJ_DICTIONARY) { |
| 158 CPDF_Dictionary* pDict = (CPDF_Dictionary*)pFileSpec; | 158 CPDF_Dictionary* pDict = (CPDF_Dictionary*)pFileSpec; |
| 159 wsFileName = pDict->GetUnicodeText(FX_BSTRC("UF")); | 159 wsFileName = pDict->GetUnicodeText(FX_BSTRC("UF")); |
| 160 if (wsFileName.IsEmpty()) { | 160 if (wsFileName.IsEmpty()) { |
| 161 wsFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("F"
))); | 161 wsFileName = CFX_WideString::FromLocal(pDict->GetStringAt("F")); |
| 162 } | 162 } |
| 163 if (pDict->GetString(FX_BSTRC("FS")) == FX_BSTRC("URL")) { | 163 if (pDict->GetStringAt("FS") == "URL") { |
| 164 return wsFileName; | 164 return wsFileName; |
| 165 } | 165 } |
| 166 if (wsFileName.IsEmpty() && pDict->KeyExist(FX_BSTRC("DOS"))) { | 166 if (wsFileName.IsEmpty() && pDict->KeyExist(FX_BSTRC("DOS"))) { |
| 167 wsFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("DO
S"))); | 167 wsFileName = CFX_WideString::FromLocal(pDict->GetStringAt("DOS")); |
| 168 } | 168 } |
| 169 } | 169 } |
| 170 else if (!pFileSpec) | 170 else if (!pFileSpec) |
| 171 wsFileName = CFX_WideString(); | 171 wsFileName = CFX_WideString(); |
| 172 else { | 172 else { |
| 173 wsFileName = CFX_WideString::FromLocal(pFileSpec->GetString()); | 173 wsFileName = CFX_WideString::FromLocal(pFileSpec->GetString()); |
| 174 } | 174 } |
| 175 if (wsFileName[0] != '/') { | 175 if (wsFileName[0] != '/') { |
| 176 return ChangeSlash(wsFileName.c_str()); | 176 return ChangeSlash(wsFileName.c_str()); |
| 177 } | 177 } |
| 178 if (wsFileName[2] == '/') { | 178 if (wsFileName[2] == '/') { |
| 179 CFX_WideString result; | 179 CFX_WideString result; |
| 180 result += wsFileName[1]; | 180 result += wsFileName[1]; |
| 181 result += ':'; | 181 result += ':'; |
| 182 result += ChangeSlash(wsFileName.c_str() + 2); | 182 result += ChangeSlash(wsFileName.c_str() + 2); |
| 183 return result; | 183 return result; |
| 184 } else { | 184 } else { |
| 185 CFX_WideString result; | 185 CFX_WideString result; |
| 186 result += '\\'; | 186 result += '\\'; |
| 187 result += ChangeSlash(wsFileName.c_str()); | 187 result += ChangeSlash(wsFileName.c_str()); |
| 188 return result; | 188 return result; |
| 189 } | 189 } |
| 190 } | 190 } |
| OLD | NEW |