summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_cross_ref_table.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/parser/cpdf_cross_ref_table.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_cross_ref_table.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_cross_ref_table.cpp b/core/fpdfapi/parser/cpdf_cross_ref_table.cpp
index 770c483dca..4be91745d8 100644
--- a/core/fpdfapi/parser/cpdf_cross_ref_table.cpp
+++ b/core/fpdfapi/parser/cpdf_cross_ref_table.cpp
@@ -8,6 +8,20 @@
#include "core/fpdfapi/parser/cpdf_dictionary.h"
+// static
+std::unique_ptr<CPDF_CrossRefTable> CPDF_CrossRefTable::MergeUp(
+ std::unique_ptr<CPDF_CrossRefTable> current,
+ std::unique_ptr<CPDF_CrossRefTable> top) {
+ if (!current)
+ return top;
+
+ if (!top)
+ return current;
+
+ current->Update(std::move(top));
+ return current;
+}
+
CPDF_CrossRefTable::CPDF_CrossRefTable() = default;
CPDF_CrossRefTable::CPDF_CrossRefTable(std::unique_ptr<CPDF_Dictionary> trailer)