You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2020/08/15 15:55:55 UTC

svn commit: r1880878 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java

Author: lehmi
Date: Sat Aug 15 15:55:55 2020
New Revision: 1880878

URL: http://svn.apache.org/viewvc?rev=1880878&view=rev
Log:
PDFBOX-4892: removed unneeded brackets, return result immediately, extract parseCOSNumber

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java?rev=1880878&r1=1880877&r2=1880878&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java Sat Aug 15 15:55:55 2020
@@ -487,7 +487,6 @@ public abstract class BaseParser
                     case '5':
                     case '6':
                     case '7':
-                    {
                         StringBuilder octal = new StringBuilder();
                         octal.append( next );
                         c = source.read();
@@ -522,13 +521,10 @@ public abstract class BaseParser
                         }
                         out.write(character);
                         break;
-                    }
                     default:
-                    {
                         // dropping the backslash
                         // see 7.3.4.2 Literal Strings for further information
                         out.write(next);
-                    }
                 }
             }
             else
@@ -805,15 +801,11 @@ public abstract class BaseParser
      */
     protected COSBase parseDirObject() throws IOException
     {
-        COSBase retval = null;
-
         skipSpaces();
-        int nextByte = source.peek();
-        char c = (char)nextByte;
+        char c = (char) source.peek();
         switch(c)
         {
         case '<':
-        {
             // pull off first left bracket
             int leftBracket = source.read();
             // check for second left bracket
@@ -822,76 +814,41 @@ public abstract class BaseParser
             if(c == '<')
             {
 
-                retval = parseCOSDictionary();
+                COSDictionary retval = parseCOSDictionary();
                 skipSpaces();
+                return retval;
             }
             else
             {
-                retval = parseCOSString();
+                return parseCOSString();
             }
-            break;
-        }
         case '[':
-        {
             // array
-            retval = parseCOSArray();
-            break;
-        }
+            return parseCOSArray();
         case '(':
-            retval = parseCOSString();
-            break;
+            return parseCOSString();
         case '/':   
             // name
-            retval = parseCOSName();
-            break;
+            return parseCOSName();
         case 'n':   
-        {
             // null
             readExpectedString(NULL, false);
-            retval = COSNull.NULL;
-            break;
-        }
+            return COSNull.NULL;
         case 't':
-        {
             readExpectedString(TRUE, false);
-            retval = COSBoolean.TRUE;
-            break;
-        }
+            return COSBoolean.TRUE;
         case 'f':
-        {
             readExpectedString(FALSE, false);
-            retval = COSBoolean.FALSE;
-            break;
-        }
+            return COSBoolean.FALSE;
         case 'R':
             source.read();
-            retval = new COSObject(null);
-            break;
+            return new COSObject(null);
         case (char)-1:
             return null;
         default:
-        {
             if( Character.isDigit(c) || c == '-' || c == '+' || c == '.')
             {
-                StringBuilder buf = new StringBuilder();
-                int ic = source.read();
-                c = (char)ic;
-                while( Character.isDigit( c )||
-                        c == '-' ||
-                        c == '+' ||
-                        c == '.' ||
-                        c == 'E' ||
-                        c == 'e' )
-                {
-                    buf.append( c );
-                    ic = source.read();
-                    c = (char)ic;
-                }
-                if( ic != -1 )
-                {
-                    source.unread(ic);
-                }
-                retval = COSNumber.get( buf.toString() );
+                return parseCOSNumber();
             }
             else
             {
@@ -915,8 +872,25 @@ public abstract class BaseParser
                 }
             }
         }
+        return null;
+    }
+
+    private COSNumber parseCOSNumber() throws IOException
+    {
+        StringBuilder buf = new StringBuilder();
+        int ic = source.read();
+        char c = (char) ic;
+        while (Character.isDigit(c) || c == '-' || c == '+' || c == '.' || c == 'E' || c == 'e')
+        {
+            buf.append(c);
+            ic = source.read();
+            c = (char) ic;
+        }
+        if (ic != -1)
+        {
+            source.unread(ic);
         }
-        return retval;
+        return COSNumber.get(buf.toString());
     }
 
     /**