Removed erroneous coding for Ptg 0x1a (see bugzilla 40008)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@832975 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8cadd77669
commit
5b49f93f8a
@ -49,21 +49,21 @@ public abstract class Ptg implements Cloneable {
|
||||
* Extra data (beyond <tt>size</tt>) may be read if and <tt>ArrayPtg</tt>s are present.
|
||||
*/
|
||||
public static Ptg[] readTokens(int size, LittleEndianInput in) {
|
||||
List temp = new ArrayList(4 + size / 2);
|
||||
List<Ptg> temp = new ArrayList<Ptg>(4 + size / 2);
|
||||
int pos = 0;
|
||||
List arrayPtgs = null;
|
||||
List<Ptg> arrayPtgs = null;
|
||||
while (pos < size) {
|
||||
Ptg ptg = Ptg.createPtg(in);
|
||||
if (ptg instanceof ArrayPtg) {
|
||||
if (arrayPtgs == null) {
|
||||
arrayPtgs = new ArrayList(5);
|
||||
arrayPtgs = new ArrayList<Ptg>(5);
|
||||
}
|
||||
arrayPtgs.add(ptg);
|
||||
pos += ArrayPtg.PLAIN_TOKEN_SIZE;
|
||||
} else {
|
||||
pos += ptg.getSize();
|
||||
}
|
||||
temp.add( ptg );
|
||||
temp.add(ptg);
|
||||
}
|
||||
if(pos != size) {
|
||||
throw new RuntimeException("Ptg array size mismatch");
|
||||
@ -93,7 +93,6 @@ public abstract class Ptg implements Cloneable {
|
||||
} else {
|
||||
retval.setClass(CLASS_REF);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -123,7 +122,7 @@ public abstract class Ptg implements Cloneable {
|
||||
case DeletedArea3DPtg.sid: return new DeletedArea3DPtg(in); // 0x3d, 0x5d, 0x7d
|
||||
}
|
||||
throw new UnsupportedOperationException(" Unknown Ptg in Formula: 0x"+
|
||||
Integer.toHexString(id) + " (" + ( int ) id + ")");
|
||||
Integer.toHexString(id) + " (" + ( int ) id + ")");
|
||||
}
|
||||
|
||||
private static Ptg createBasePtg(byte id, LittleEndianInput in) {
|
||||
@ -153,8 +152,7 @@ public abstract class Ptg implements Cloneable {
|
||||
case MissingArgPtg.sid: return MissingArgPtg.instance; // 0x16
|
||||
|
||||
case StringPtg.sid: return new StringPtg(in); // 0x17
|
||||
case AttrPtg.sid:
|
||||
case 0x1a: return new AttrPtg(in); // 0x19
|
||||
case AttrPtg.sid: return new AttrPtg(in); // 0x19
|
||||
case ErrPtg.sid: return ErrPtg.read(in); // 0x1c
|
||||
case BoolPtg.sid: return new BoolPtg(in); // 0x1d
|
||||
case IntPtg.sid: return new IntPtg(in); // 0x1e
|
||||
@ -184,7 +182,7 @@ public abstract class Ptg implements Cloneable {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
private static Ptg[] toPtgArray(List l) {
|
||||
private static Ptg[] toPtgArray(List<Ptg> l) {
|
||||
if (l.isEmpty()) {
|
||||
return EMPTY_PTG_ARRAY;
|
||||
}
|
||||
@ -232,7 +230,7 @@ public abstract class Ptg implements Cloneable {
|
||||
|
||||
LittleEndianByteArrayOutputStream out = new LittleEndianByteArrayOutputStream(array, offset);
|
||||
|
||||
List arrayPtgs = null;
|
||||
List<Ptg> arrayPtgs = null;
|
||||
|
||||
for (int k = 0; k < nTokens; k++) {
|
||||
Ptg ptg = ptgs[k];
|
||||
@ -240,7 +238,7 @@ public abstract class Ptg implements Cloneable {
|
||||
ptg.write(out);
|
||||
if (ptg instanceof ArrayPtg) {
|
||||
if (arrayPtgs == null) {
|
||||
arrayPtgs = new ArrayList(5);
|
||||
arrayPtgs = new ArrayList<Ptg>(5);
|
||||
}
|
||||
arrayPtgs.add(ptg);
|
||||
}
|
||||
@ -259,11 +257,6 @@ public abstract class Ptg implements Cloneable {
|
||||
*/
|
||||
public abstract int getSize();
|
||||
|
||||
/**
|
||||
* //@return the encoded length of this Ptg, not including the initial Ptg type identifier byte.
|
||||
*/
|
||||
// public abstract int getDataSize();
|
||||
|
||||
public abstract void write(LittleEndianOutput out);
|
||||
|
||||
/**
|
||||
@ -348,5 +341,4 @@ public abstract class Ptg implements Cloneable {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user