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 |