You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2019/09/14 11:42:42 UTC

svn commit: r1866941 - in /poi/trunk/src: java/org/apache/poi/ss/format/ scratchpad/src/org/apache/poi/hemf/record/emf/

Author: fanningpj
Date: Sat Sep 14 11:42:42 2019
New Revision: 1866941

URL: http://svn.apache.org/viewvc?rev=1866941&view=rev
Log:
try to fix build failure

Modified:
    poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfMisc.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfRecordIterator.java

Modified: poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java?rev=1866941&r1=1866940&r2=1866941&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java Sat Sep 14 11:42:42 2019
@@ -304,7 +304,7 @@ public class CellNumberFormatter extends
     }
 
     private static int maxValue(List<Special> s) {
-        return (int) Math.round(Math.pow(10, s.size()) - 1);
+        return Math.toIntExact(Math.round(Math.pow(10, s.size()) - 1));
     }
 
     private List<Special> specialsFor(int pos, int takeFirst) {

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java?rev=1866941&r1=1866940&r2=1866941&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java Sat Sep 14 11:42:42 2019
@@ -198,9 +198,9 @@ public class HemfComment {
                 // Valid comment identifier values are listed in the following table.
                 //
                 // If this field contains any other value, the comment record MUST be an EMR_COMMENT record
-                final int commentIdentifier = Math.toIntExact(leis.readUInt());
+                final long commentIdentifier = leis.readUInt();
                 // A 32-bit unsigned integer that identifies the type of public comment record.
-                final int publicCommentIdentifier = Math.toIntExact(leis.readUInt());
+                final long publicCommentIdentifier = leis.readUInt();
 
                 final boolean isEmfPublic = (commentIdentifier == HemfCommentRecordType.emfPublic.id);
                 leis.reset();
@@ -322,14 +322,14 @@ public class HemfComment {
         public long init(final LittleEndianInputStream leis, final long dataSize)
         throws IOException {
             final int startIdx = leis.getReadIndex();
-            final int commentIdentifier = Math.toIntExact(leis.readUInt());
+            final long commentIdentifier = leis.readUInt();
             assert(commentIdentifier == HemfCommentRecordType.emfPublic.id);
-            final int publicCommentIdentifier = Math.toIntExact(leis.readUInt());
+            final long publicCommentIdentifier = leis.readUInt();
             assert(publicCommentIdentifier == HemfCommentRecordType.emfBeginGroup.id);
             HemfDraw.readRectL(leis, bounds);
 
             // The number of Unicode characters in the optional description string that follows.
-            int nDescription = Math.toIntExact(leis.readUInt());
+            long nDescription = leis.readUInt();
 
             byte[] buf = IOUtils.safelyAllocate(nDescription * 2L, MAX_RECORD_LENGTH);
             leis.readFully(buf);
@@ -365,9 +365,9 @@ public class HemfComment {
         public long init(final LittleEndianInputStream leis, final long dataSize)
         throws IOException {
             final int startIdx = leis.getReadIndex();
-            final int commentIdentifier = Math.toIntExact(leis.readUInt());
+            final long commentIdentifier = leis.readUInt();
             assert(commentIdentifier == HemfCommentRecordType.emfPublic.id);
-            final int publicCommentIdentifier = Math.toIntExact(leis.readUInt());
+            final long publicCommentIdentifier = leis.readUInt();
             assert(publicCommentIdentifier == HemfCommentRecordType.emfEndGroup.id);
             return leis.getReadIndex()-startIdx;
         }
@@ -391,15 +391,15 @@ public class HemfComment {
         public long init(final LittleEndianInputStream leis, final long dataSize)
                 throws IOException {
             final int startIdx = leis.getReadIndex();
-            final int commentIdentifier = Math.toIntExact(leis.readUInt());
+            final long commentIdentifier = leis.readUInt();
             assert(commentIdentifier == HemfCommentRecordType.emfPublic.id);
-            final int publicCommentIdentifier = Math.toIntExact(leis.readUInt());
+            final long publicCommentIdentifier = leis.readUInt();
             assert(publicCommentIdentifier == HemfCommentRecordType.emfMultiFormats.id);
             HemfDraw.readRectL(leis, bounds);
 
             // A 32-bit unsigned integer that specifies the number of graphics formats contained in this record.
-            int countFormats = Math.toIntExact(leis.readUInt());
-            for (int i=0; i<countFormats; i++) {
+            long countFormats = leis.readUInt();
+            for (long pos = 0; pos < countFormats; pos++) {
                 EmfCommentDataFormat fmt = new EmfCommentDataFormat();
                 long readBytes = fmt.init(leis, dataSize, startIdx);
                 formats.add(fmt);
@@ -533,9 +533,9 @@ public class HemfComment {
         @Override
         public long init(final LittleEndianInputStream leis, final long dataSize) throws IOException {
             final int startIdx = leis.getReadIndex();
-            final int commentIdentifier = Math.toIntExact(leis.readUInt());
+            final long commentIdentifier = leis.readUInt();
             assert(commentIdentifier == HemfCommentRecordType.emfPublic.id);
-            final int publicCommentIdentifier = Math.toIntExact(leis.readUInt());
+            final long publicCommentIdentifier = leis.readUInt();
             assert(publicCommentIdentifier == HemfCommentRecordType.emfWMF.id);
 
             // A 16-bit unsigned integer that specifies the WMF metafile version in terms

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfMisc.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfMisc.java?rev=1866941&r1=1866940&r2=1866941&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfMisc.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfMisc.java Sat Sep 14 11:42:42 2019
@@ -32,6 +32,7 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.function.Supplier;
 
+import org.apache.commons.math3.util.ArithmeticUtils;
 import org.apache.poi.hemf.draw.HemfDrawProperties;
 import org.apache.poi.hemf.draw.HemfGraphics;
 import org.apache.poi.hwmf.draw.HwmfDrawProperties;
@@ -900,7 +901,7 @@ public class HemfMisc {
             // contains a DIB.
             int cbBits = (int) leis.readUInt();
 
-            int size = 6 * LittleEndianConsts.INT_SIZE;
+            int size = ArithmeticUtils.mulAndCheck(6, LittleEndianConsts.INT_SIZE);
 
             size += readBitmap(leis, bitmap, startIdx, offBmi, cbBmi, offBits, cbBits);
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfRecordIterator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfRecordIterator.java?rev=1866941&r1=1866940&r2=1866941&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfRecordIterator.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfRecordIterator.java Sat Sep 14 11:42:42 2019
@@ -75,7 +75,7 @@ public class HemfRecordIterator implemen
             long remBytes = recordSize-HEADER_SIZE;
             long readBytes = record.init(stream, remBytes, recordId);
             assert (readBytes <= remBytes);
-            stream.skipFully((int)(remBytes-readBytes));
+            stream.skipFully(Math.toIntExact(remBytes-readBytes));
         } catch (IOException|RuntimeException e) {
             throw new RecordFormatException(e);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org