You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ma...@apache.org on 2021/02/27 19:08:50 UTC

svn commit: r1886989 - in /poi/trunk/src/scratchpad/src/org/apache/poi: hslf/usermodel/HSLFSlideShowEncrypted.java hslf/usermodel/HSLFSlideShowImpl.java hwpf/model/PICFAndOfficeArtData.java hwpf/usermodel/Picture.java

Author: mariusvolkhart
Date: Sat Feb 27 19:08:49 2021
New Revision: 1886989

URL: http://svn.apache.org/viewvc?rev=1886989&view=rev
Log:
Revert "Replace magic constant with reference" changes

Reverts r1886986, r1886987 and r1886988. Incorrect conversion between int and shorts led to incorrect logic.

Modified:
    poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowEncrypted.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Picture.java

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowEncrypted.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowEncrypted.java?rev=1886989&r1=1886988&r2=1886989&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowEncrypted.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowEncrypted.java Sat Feb 27 19:08:49 2021
@@ -28,7 +28,6 @@ import java.util.NavigableMap;
 import java.util.TreeMap;
 
 import org.apache.poi.EncryptedDocumentException;
-import org.apache.poi.ddf.EscherRecordTypes;
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
 import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
 import org.apache.poi.hslf.record.DocumentEncryptionAtom;
@@ -221,7 +220,7 @@ public class HSLFSlideShowEncrypted impl
             offset += 8;
             int endOffset = offset + rlen;
 
-            if (recType == EscherRecordTypes.BSE.typeID) {
+            if (recType == 0xF007) {
                 // TOOD: get a real example file ... to actual test the FBSE entry
                 // not sure where the foDelay block is
 
@@ -299,7 +298,7 @@ public class HSLFSlideShowEncrypted impl
             offset += 8;
             int endOffset = offset + rlen;
 
-            if (recType == EscherRecordTypes.BSE.typeID) {
+            if (recType == 0xF007) {
                 // TOOD: get a real example file ... to actual test the FBSE entry
                 // not sure where the foDelay block is
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java?rev=1886989&r1=1886988&r2=1886989&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java Sat Feb 27 19:08:49 2021
@@ -40,7 +40,6 @@ import java.util.TreeMap;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.poi.POIDocument;
-import org.apache.poi.ddf.EscherRecordTypes;
 import org.apache.poi.hpsf.PropertySet;
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
 import org.apache.poi.hslf.exceptions.HSLFException;
@@ -381,8 +380,7 @@ public final class HSLFSlideShowImpl ext
 
                 // When parsing the BStoreDelay stream, [MS-ODRAW] says that we
                 //  should terminate if the type isn't 0xf007 or 0xf018->0xf117
-                if (!((type == EscherRecordTypes.BSE.typeID) ||
-                        (type >= EscherRecordTypes.BLIP_START.typeID && type <= EscherRecordTypes.BLIP_END.typeID))) {
+                if (!((type == 0xf007) || (type >= 0xf018 && type <= 0xf117))) {
                     break;
                 }
 
@@ -394,7 +392,7 @@ public final class HSLFSlideShowImpl ext
                 }
 
                 // If the type (including the bonus 0xF018) is 0, skip it
-                PictureType pt = PictureType.forNativeID(type - EscherRecordTypes.BLIP_START.typeID);
+                PictureType pt = PictureType.forNativeID(type - 0xF018);
                 if (pt == null) {
                     LOG.atError().log("Problem reading picture: Invalid image type 0, on picture with length {}.\nYour document will probably become corrupted if you save it! Position: {}", box(imgsize),box(pos));
                 } else {

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java?rev=1886989&r1=1886988&r2=1886989&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/PICFAndOfficeArtData.java Sat Feb 27 19:08:49 2021
@@ -22,7 +22,6 @@ import java.util.List;
 import org.apache.poi.ddf.DefaultEscherRecordFactory;
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherRecordTypes;
 import org.apache.poi.hwpf.model.types.PICFAbstractType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
@@ -72,9 +71,9 @@ public class PICFAndOfficeArtData
         {
             EscherRecord nextRecord = escherRecordFactory.createRecord(
                     dataStream, offset );
-            if ( nextRecord.getRecordId() != EscherRecordTypes.BSE.typeID
-                    && ( nextRecord.getRecordId() < EscherRecordTypes.BLIP_START.typeID || nextRecord
-                            .getRecordId() > EscherRecordTypes.BLIP_END.typeID ) )
+            if ( nextRecord.getRecordId() != (short) 0xF007
+                    && ( nextRecord.getRecordId() < (short) 0xF018 || nextRecord
+                            .getRecordId() > (short) 0xF117 ) )
                 break;
 
             int blipRecordSize = nextRecord.fillFields( dataStream, offset,

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Picture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Picture.java?rev=1886989&r1=1886988&r2=1886989&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Picture.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Picture.java Sat Feb 27 19:08:49 2021
@@ -34,7 +34,6 @@ import org.apache.poi.ddf.EscherOptRecor
 import org.apache.poi.ddf.EscherProperty;
 import org.apache.poi.ddf.EscherPropertyTypes;
 import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherRecordTypes;
 import org.apache.poi.hwpf.model.PICF;
 import org.apache.poi.hwpf.model.PICFAndOfficeArtData;
 import org.apache.poi.sl.image.ImageHeaderPNG;
@@ -513,51 +512,56 @@ public final class Picture {
         }
 
         EscherRecord escherRecord = _blipRecords.get( 0 );
-        short recordId = escherRecord.getRecordId();
-        if (recordId == EscherRecordTypes.BSE.typeID) {
+        switch ( escherRecord.getRecordId() )
+        {
+        case (short) 0xF007:
+        {
             EscherBSERecord bseRecord = (EscherBSERecord) escherRecord;
-            switch (bseRecord.getBlipTypeWin32()) {
-                case 0x00:
-                    return PictureType.UNKNOWN;
-                case 0x01:
-                    return PictureType.UNKNOWN;
-                case 0x02:
-                    return PictureType.EMF;
-                case 0x03:
-                    return PictureType.WMF;
-                case 0x04:
-                    return PictureType.PICT;
-                case 0x05:
-                    return PictureType.JPEG;
-                case 0x06:
-                    return PictureType.PNG;
-                case 0x07:
-                    return PictureType.BMP;
-                case 0x11:
-                    return PictureType.TIFF;
-                case 0x12:
-                    return PictureType.JPEG;
-                default:
-                    return PictureType.UNKNOWN;
+            switch ( bseRecord.getBlipTypeWin32() )
+            {
+            case 0x00:
+                return PictureType.UNKNOWN;
+            case 0x01:
+                return PictureType.UNKNOWN;
+            case 0x02:
+                return PictureType.EMF;
+            case 0x03:
+                return PictureType.WMF;
+            case 0x04:
+                return PictureType.PICT;
+            case 0x05:
+                return PictureType.JPEG;
+            case 0x06:
+                return PictureType.PNG;
+            case 0x07:
+                return PictureType.BMP;
+            case 0x11:
+                return PictureType.TIFF;
+            case 0x12:
+                return PictureType.JPEG;
+            default:
+                return PictureType.UNKNOWN;
             }
-        } else if (recordId == (short) 0xF01A) {
+        }
+        case (short) 0xF01A:
             return PictureType.EMF;
-        } else if (recordId == (short) 0xF01B) {
+        case (short) 0xF01B:
             return PictureType.WMF;
-        } else if (recordId == (short) 0xF01C) {
+        case (short) 0xF01C:
             return PictureType.PICT;
-        } else if (recordId == (short) 0xF01D) {
+        case (short) 0xF01D:
             return PictureType.JPEG;
-        } else if (recordId == (short) 0xF01E) {
+        case (short) 0xF01E:
             return PictureType.PNG;
-        } else if (recordId == (short) 0xF01F) {
+        case (short) 0xF01F:
             return PictureType.BMP;
-        } else if (recordId == (short) 0xF029) {
+        case (short) 0xF029:
             return PictureType.TIFF;
-        } else if (recordId == (short) 0xF02A) {
+        case (short) 0xF02A:
             return PictureType.JPEG;
+        default:
+            return PictureType.UNKNOWN;
         }
-        return PictureType.UNKNOWN;
     }
 
     /**



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