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 "public/fpdf_doc.h" | 7 #include "public/fpdf_doc.h" |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 | 10 |
11 #include "core/include/fpdfapi/cpdf_array.h" | |
11 #include "core/include/fpdfapi/cpdf_document.h" | 12 #include "core/include/fpdfapi/cpdf_document.h" |
12 #include "fpdfsdk/include/fsdk_define.h" | 13 #include "fpdfsdk/include/fsdk_define.h" |
13 #include "third_party/base/stl_util.h" | 14 #include "third_party/base/stl_util.h" |
14 | 15 |
15 namespace { | 16 namespace { |
16 | 17 |
17 int THISMODULE = 0; | 18 int THISMODULE = 0; |
dsinclair
2016/03/10 21:23:45
Ah, this is wacky, can it be removed?
Tom Sepez
2016/03/10 22:05:19
Not yet. The so-called SetPrivateData allows one
| |
18 | 19 |
19 CPDF_Bookmark FindBookmark(const CPDF_BookmarkTree& tree, | 20 CPDF_Bookmark FindBookmark(const CPDF_BookmarkTree& tree, |
20 CPDF_Bookmark bookmark, | 21 CPDF_Bookmark bookmark, |
21 const CFX_WideString& title, | 22 const CFX_WideString& title, |
22 std::set<CPDF_Dictionary*>* visited) { | 23 std::set<CPDF_Dictionary*>* visited) { |
23 // Return if already checked to avoid circular calling. | 24 // Return if already checked to avoid circular calling. |
24 if (pdfium::ContainsKey(*visited, bookmark.GetDict())) | 25 if (pdfium::ContainsKey(*visited, bookmark.GetDict())) |
25 return CPDF_Bookmark(); | 26 return CPDF_Bookmark(); |
26 visited->insert(bookmark.GetDict()); | 27 visited->insert(bookmark.GetDict()); |
27 | 28 |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
359 return 0; | 360 return 0; |
360 CFX_WideString text = pInfo->GetUnicodeTextBy(tag); | 361 CFX_WideString text = pInfo->GetUnicodeTextBy(tag); |
361 // Use UTF-16LE encoding | 362 // Use UTF-16LE encoding |
362 CFX_ByteString encodedText = text.UTF16LE_Encode(); | 363 CFX_ByteString encodedText = text.UTF16LE_Encode(); |
363 unsigned long len = encodedText.GetLength(); | 364 unsigned long len = encodedText.GetLength(); |
364 if (buffer && buflen >= len) { | 365 if (buffer && buflen >= len) { |
365 FXSYS_memcpy(buffer, encodedText.c_str(), len); | 366 FXSYS_memcpy(buffer, encodedText.c_str(), len); |
366 } | 367 } |
367 return len; | 368 return len; |
368 } | 369 } |
OLD | NEW |