Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2718)

Side by Side Diff: core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp

Issue 1550753002: Change the generation number from 65536 to 65535 in the free entry of cross-reference table (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "editint.h" 7 #include "editint.h"
8 8
9 #include "core/include/fxcrt/fx_ext.h" 9 #include "core/include/fxcrt/fx_ext.h"
10 #include "core/include/fpdfapi/fpdf_serial.h" 10 #include "core/include/fpdfapi/fpdf_serial.h"
(...skipping 1618 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 m_pXRefStream->End(this, TRUE); 1629 m_pXRefStream->End(this, TRUE);
1630 m_XrefStart = m_pXRefStream->m_PrevOffset; 1630 m_XrefStart = m_pXRefStream->m_PrevOffset;
1631 m_iStage = 90; 1631 m_iStage = 90;
1632 } else if ((m_dwFlags & FPDFCREATE_INCREMENTAL) == 0 || 1632 } else if ((m_dwFlags & FPDFCREATE_INCREMENTAL) == 0 ||
1633 !m_pParser->IsXRefStream()) { 1633 !m_pParser->IsXRefStream()) {
1634 if ((m_dwFlags & FPDFCREATE_INCREMENTAL) == 0 || 1634 if ((m_dwFlags & FPDFCREATE_INCREMENTAL) == 0 ||
1635 m_pParser->GetLastXRefOffset() == 0) { 1635 m_pParser->GetLastXRefOffset() == 0) {
1636 CFX_ByteString str; 1636 CFX_ByteString str;
1637 str = m_ObjectOffset.GetPtrAt(1) 1637 str = m_ObjectOffset.GetPtrAt(1)
1638 ? "xref\r\n" 1638 ? "xref\r\n"
1639 : "xref\r\n0 1\r\n0000000000 65536 f\r\n"; 1639 : "xref\r\n0 1\r\n0000000000 65535 f\r\n";
1640 if (m_File.AppendString(str) < 0) { 1640 if (m_File.AppendString(str) < 0) {
1641 return -1; 1641 return -1;
1642 } 1642 }
1643 m_Pos = (void*)(uintptr_t)1; 1643 m_Pos = (void*)(uintptr_t)1;
1644 m_iStage = 81; 1644 m_iStage = 81;
1645 } else { 1645 } else {
1646 if (m_File.AppendString("xref\r\n") < 0) { 1646 if (m_File.AppendString("xref\r\n") < 0) {
1647 return -1; 1647 return -1;
1648 } 1648 }
1649 m_Pos = (void*)(uintptr_t)0; 1649 m_Pos = (void*)(uintptr_t)0;
(...skipping 11 matching lines...) Expand all
1661 i++; 1661 i++;
1662 } 1662 }
1663 if (i > dwLastObjNum) { 1663 if (i > dwLastObjNum) {
1664 break; 1664 break;
1665 } 1665 }
1666 j = i; 1666 j = i;
1667 while (j <= dwLastObjNum && m_ObjectOffset.GetPtrAt(j)) { 1667 while (j <= dwLastObjNum && m_ObjectOffset.GetPtrAt(j)) {
1668 j++; 1668 j++;
1669 } 1669 }
1670 if (i == 1) { 1670 if (i == 1) {
1671 str.Format("0 %d\r\n0000000000 65536 f\r\n", j); 1671 str.Format("0 %d\r\n0000000000 65535 f\r\n", j);
1672 } else { 1672 } else {
1673 str.Format("%d %d\r\n", i, j - i); 1673 str.Format("%d %d\r\n", i, j - i);
1674 } 1674 }
1675 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1675 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) {
1676 return -1; 1676 return -1;
1677 } 1677 }
1678 while (i < j) { 1678 while (i < j) {
1679 str.Format("%010d 00000 n\r\n", m_ObjectOffset[i++]); 1679 str.Format("%010d 00000 n\r\n", m_ObjectOffset[i++]);
1680 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1680 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) {
1681 return -1; 1681 return -1;
(...skipping 21 matching lines...) Expand all
1703 break; 1703 break;
1704 } 1704 }
1705 FX_DWORD dwCurrent = m_NewObjNumArray.ElementAt(j); 1705 FX_DWORD dwCurrent = m_NewObjNumArray.ElementAt(j);
1706 if (dwCurrent - objnum > 1) { 1706 if (dwCurrent - objnum > 1) {
1707 break; 1707 break;
1708 } 1708 }
1709 objnum = dwCurrent; 1709 objnum = dwCurrent;
1710 } 1710 }
1711 objnum = m_NewObjNumArray.ElementAt(i); 1711 objnum = m_NewObjNumArray.ElementAt(i);
1712 if (objnum == 1) { 1712 if (objnum == 1) {
1713 str.Format("0 %d\r\n0000000000 65536 f\r\n", j - i + 1); 1713 str.Format("0 %d\r\n0000000000 65535 f\r\n", j - i + 1);
1714 } else { 1714 } else {
1715 str.Format("%d %d\r\n", objnum, j - i); 1715 str.Format("%d %d\r\n", objnum, j - i);
1716 } 1716 }
1717 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1717 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) {
1718 return -1; 1718 return -1;
1719 } 1719 }
1720 while (i < j) { 1720 while (i < j) {
1721 objnum = m_NewObjNumArray.ElementAt(i++); 1721 objnum = m_NewObjNumArray.ElementAt(i++);
1722 str.Format("%010d 00000 n\r\n", m_ObjectOffset[objnum]); 1722 str.Format("%010d 00000 n\r\n", m_ObjectOffset[objnum]);
1723 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1723 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) {
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
2104 m_bNewCrypto = FALSE; 2104 m_bNewCrypto = FALSE;
2105 if (!m_bStandardSecurity) { 2105 if (!m_bStandardSecurity) {
2106 return; 2106 return;
2107 } 2107 }
2108 if (m_pEncryptDict) { 2108 if (m_pEncryptDict) {
2109 m_pEncryptDict->Release(); 2109 m_pEncryptDict->Release();
2110 m_pEncryptDict = NULL; 2110 m_pEncryptDict = NULL;
2111 } 2111 }
2112 m_bStandardSecurity = FALSE; 2112 m_bStandardSecurity = FALSE;
2113 } 2113 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698