Import of pkgsrc-2014Q1
This commit is contained in:
30
print/podofo/patches/patch-src_base_PdfVariant.cpp
Normal file
30
print/podofo/patches/patch-src_base_PdfVariant.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
$NetBSD: patch-src_base_PdfVariant.cpp,v 1.1 2013/07/16 21:28:43 joerg Exp $
|
||||
|
||||
--- src/base/PdfVariant.cpp.orig 2011-04-19 17:34:25.000000000 +0000
|
||||
+++ src/base/PdfVariant.cpp
|
||||
@@ -267,8 +267,24 @@ void PdfVariant::Write( PdfOutputDevice*
|
||||
std::ostringstream oss;
|
||||
PdfLocaleImbue(oss);
|
||||
oss << std::fixed << m_Data.dNumber;
|
||||
+ size_t len = oss.str().size();
|
||||
|
||||
- pDevice->Write( oss.str().c_str(), oss.str().size() );
|
||||
+ if( (eWriteMode & ePdfWriteMode_Compact) == ePdfWriteMode_Compact &&
|
||||
+ oss.str().find('.') != string::npos )
|
||||
+ {
|
||||
+ const char *str = oss.str().c_str();
|
||||
+ while( str[len - 1] == '0' )
|
||||
+ --len;
|
||||
+ if( str[len - 1] == '.' )
|
||||
+ --len;
|
||||
+ if( len == 0 )
|
||||
+ {
|
||||
+ pDevice->Write( "0", 1 );
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ pDevice->Write( oss.str().c_str(), len );
|
||||
break;
|
||||
}
|
||||
case ePdfDataType_HexString:
|
||||
Reference in New Issue
Block a user