You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/05/31 06:41:28 UTC

svn commit: r1746235 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java

Author: tilman
Date: Tue May 31 06:41:27 2016
New Revision: 1746235

URL: http://svn.apache.org/viewvc?rev=1746235&view=rev
Log:
PDFBOX-3369: more general workaround for certain broken floats

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java?rev=1746235&r1=1746234&r2=1746235&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java Tue May 31 06:41:27 2016
@@ -61,13 +61,13 @@ public class COSFloat extends COSNumber
         }
         catch( NumberFormatException e )
         {
-            if (aFloat.startsWith("0.00000-"))
+            if (aFloat.matches("^0\\.0+\\-\\d+"))
             {
                 // PDFBOX-2990 has 0.00000-33917698
-                // Let's wait what other floats will be coming before doing a more general workaround.
+                // PDFBOX-3369 has 0.00-35095424
                 try
                 {
-                    valueAsString = "-0.00000" + aFloat.substring(8);
+                    valueAsString = "-" + valueAsString.replaceFirst("\\-", "");
                     value = new BigDecimal(valueAsString);
                     checkMinMaxValues();
                 }