diff options
| -rw-r--r-- | ports/podofo/CONTROL | 2 | ||||
| -rw-r--r-- | ports/podofo/portfile.cmake | 1 | ||||
| -rw-r--r-- | ports/podofo/unique_ptr.patch | 198 |
3 files changed, 200 insertions, 1 deletions
diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL index e5485c493..9b6abdb17 100644 --- a/ports/podofo/CONTROL +++ b/ports/podofo/CONTROL @@ -1,5 +1,5 @@ Source: podofo -Version: 0.9.6-1 +Version: 0.9.6-3 Description: PoDoFo is a library to work with the PDF file format Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl (!windows&!uwp), freetype diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake index 0897576d0..a0b27a7a7 100644 --- a/ports/podofo/portfile.cmake +++ b/ports/podofo/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${PODOFO_VERSION} + PATCHES unique_ptr.patch ) set(PODOFO_NO_FONTMANAGER ON) diff --git a/ports/podofo/unique_ptr.patch b/ports/podofo/unique_ptr.patch new file mode 100644 index 000000000..5c70e8471 --- /dev/null +++ b/ports/podofo/unique_ptr.patch @@ -0,0 +1,198 @@ +diff -ruNp a/src/base/PdfFilter.cpp b/src/base/PdfFilter.cpp +--- a/src/base/PdfFilter.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfFilter.cpp 2019-01-16 10:25:22.934430500 +0100 +@@ -131,7 +131,7 @@ class PdfFilteredEncodeStream : public P + + private: + PdfOutputStream* m_pOutputStream; +- std::auto_ptr<PdfFilter> m_filter; ++ std::unique_ptr<PdfFilter> m_filter; + }; + + /** Create a filter that is a PdfOutputStream. +@@ -206,7 +206,7 @@ class PdfFilteredDecodeStream : public P + + private: + PdfOutputStream* m_pOutputStream; +- std::auto_ptr<PdfFilter> m_filter; ++ std::unique_ptr<PdfFilter> m_filter; + bool m_bFilterFailed; + }; + +@@ -264,7 +264,7 @@ PdfFilterFactory::PdfFilterFactory() + { + } + +-std::auto_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) ++std::unique_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) + { + PdfFilter* pFilter = NULL; + switch( eFilter ) +@@ -316,7 +316,7 @@ std::auto_ptr<PdfFilter> PdfFilterFactor + break; + } + +- return std::auto_ptr<PdfFilter>(pFilter); ++ return std::unique_ptr<PdfFilter>(pFilter); + } + + PdfOutputStream* PdfFilterFactory::CreateEncodeStream( const TVecFilters & filters, PdfOutputStream* pStream ) +diff -ruNp a/src/base/PdfFilter.h b/src/base/PdfFilter.h +--- a/src/base/PdfFilter.h 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfFilter.h 2019-01-16 10:25:22.981323900 +0100 +@@ -454,7 +454,7 @@ class PODOFO_API PdfFilterFactory { + public: + /** Create a filter from an enum. + * +- * Ownership is transferred to the caller, who should let the auto_ptr ++ * Ownership is transferred to the caller, who should let the unique_ptr + * the filter is returned in take care of freeing it when they're done + * with it. + * +@@ -463,7 +463,7 @@ class PODOFO_API PdfFilterFactory { + * \returns a new PdfFilter allocated using new, or NULL if no + * filter is available for this type. + */ +- static std::auto_ptr<PdfFilter> Create( const EPdfFilter eFilter ); ++ static std::unique_ptr<PdfFilter> Create( const EPdfFilter eFilter ); + + /** Create a PdfOutputStream that applies a list of filters + * on all data written to it. +diff -ruNp a/src/base/PdfMemStream.cpp b/src/base/PdfMemStream.cpp +--- a/src/base/PdfMemStream.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfMemStream.cpp 2019-01-16 10:25:23.479681200 +0100 +@@ -245,7 +245,7 @@ void PdfMemStream::FlateCompressStreamDa + if( !m_lLength ) + return; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); + if( pFilter.get() ) + { + pFilter->Encode( m_buffer.GetBuffer(), m_buffer.GetSize(), &pBuffer, &lLen ); +diff -ruNp a/src/base/PdfStream.cpp b/src/base/PdfStream.cpp +--- a/src/base/PdfStream.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfStream.cpp 2019-01-16 10:25:24.387075400 +0100 +@@ -91,9 +91,9 @@ void PdfStream::GetFilteredCopy( char** + PdfMemoryOutputStream stream; + if( vecFilters.size() ) + { +- // Use std::auto_ptr so that pDecodeStream is deleted ++ // Use std::unique_ptr so that pDecodeStream is deleted + // even in the case of an exception +- std::auto_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, ++ std::unique_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, + m_pParent ? + &(m_pParent->GetDictionary()) : NULL ) ); + +diff -ruNp a/src/base/PdfString.cpp b/src/base/PdfString.cpp +--- a/src/base/PdfString.cpp 2018-03-10 17:30:53.000000000 +0100 ++++ b/src/base/PdfString.cpp 2019-01-16 10:25:24.480799400 +0100 +@@ -673,7 +673,7 @@ PdfString PdfString::HexEncode() const + return *this; + else + { +- std::auto_ptr<PdfFilter> pFilter; ++ std::unique_ptr<PdfFilter> pFilter; + + pdf_long lLen = (m_buffer.GetSize() - 1) << 1; + PdfString str; +@@ -702,7 +702,7 @@ PdfString PdfString::HexDecode() const + return *this; + else + { +- std::auto_ptr<PdfFilter> pFilter; ++ std::unique_ptr<PdfFilter> pFilter; + + pdf_long lLen = m_buffer.GetSize() >> 1; + PdfString str; +diff -ruNp a/src/doc/PdfFont.cpp b/src/doc/PdfFont.cpp +--- a/src/doc/PdfFont.cpp 2016-05-13 16:04:34.000000000 +0200 ++++ b/src/doc/PdfFont.cpp 2019-01-16 10:25:26.372048300 +0100 +@@ -145,7 +145,7 @@ void PdfFont::WriteStringToStream( const + pdf_long lLen = 0; + char* pBuffer = NULL; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); + + pStream->Append( "<", 1 ); +diff -ruNp a/src/doc/PdfPainter.cpp b/src/doc/PdfPainter.cpp +--- a/src/doc/PdfPainter.cpp 2018-03-06 15:04:03.000000000 +0100 ++++ b/src/doc/PdfPainter.cpp 2019-01-16 10:25:28.512159900 +0100 +@@ -829,7 +829,7 @@ void PdfPainter::DrawText( double dX, do + + /* + char* pBuffer; +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( sString.GetString(), sString.GetLength(), &pBuffer, &lLen ); + + m_pCanvas->Append( pBuffer, lLen ); +diff -ruNp a/test/CreationTest/CreationTest.cpp b/test/CreationTest/CreationTest.cpp +--- a/test/CreationTest/CreationTest.cpp 2018-02-25 12:48:38.000000000 +0100 ++++ b/test/CreationTest/CreationTest.cpp 2019-01-16 10:25:29.605315700 +0100 +@@ -37,7 +37,7 @@ void WriteStringToStream( const PdfStrin + pdf_long lLen = 0; + char* pBuffer = NULL; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); + + oss << "<"; +diff -ruNp a/test/FilterTest/FilterTest.cpp b/test/FilterTest/FilterTest.cpp +--- a/test/FilterTest/FilterTest.cpp 2018-03-10 15:06:27.000000000 +0100 ++++ b/test/FilterTest/FilterTest.cpp 2019-01-16 10:25:29.777214800 +0100 +@@ -57,7 +57,7 @@ void test_filter( EPdfFilter eFilter, co + pdf_long lEncoded; + pdf_long lDecoded; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + if( !pFilter.get() ) + { + printf("!!! Filter %i not implemented.\n", eFilter); +@@ -256,7 +256,7 @@ int main() + char* pLargeBuffer2 = static_cast<char*>(malloc( strlen(pszInputAscii85Lzw) * 6 )); + + try { +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); + pFilter->Decode( pszInputAscii85Lzw, strlen(pszInputAscii85Lzw), + &pLargeBuffer1, &lLargeBufer1 ); + pFilter->Encode( pLargeBuffer1, lLargeBufer1, +diff -ruNp a/test/VariantTest/VariantTest.cpp b/test/VariantTest/VariantTest.cpp +--- a/test/VariantTest/VariantTest.cpp 2010-10-21 19:09:00.000000000 +0200 ++++ b/test/VariantTest/VariantTest.cpp 2019-01-16 10:25:32.418465600 +0100 +@@ -124,7 +124,7 @@ int main() + printf("This test tests the PdfVariant class.\n"); + printf("---\n"); + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + + // testing strings + TEST_SAFE_OP( Test( "(Hallo Welt!)", ePdfDataType_String ) ); +diff -ruNp a/test/unit/FilterTest.cpp b/test/unit/FilterTest.cpp +--- a/test/unit/FilterTest.cpp 2016-05-12 22:25:45.000000000 +0200 ++++ b/test/unit/FilterTest.cpp 2019-01-16 10:25:31.464162600 +0100 +@@ -59,7 +59,7 @@ void FilterTest::TestFilter( EPdfFilter + pdf_long lEncoded; + pdf_long lDecoded; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + if( !pFilter.get() ) + { + printf("!!! Filter %i not implemented.\n", eFilter); +@@ -123,7 +123,7 @@ void FilterTest::testFilters() + + void FilterTest::testCCITT() + { +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); + if( !pFilter.get() ) + { + printf("!!! ePdfFilter_CCITTFaxDecode not implemented skipping test!\n"); |
