Bug 33263 fixed: Patch provided by Der-Johng Sun <derjohng2@yahoo.com>.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353627 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
68c9b04b37
commit
15bc229c4d
@ -49,7 +49,7 @@ public class ListLevel
|
|||||||
private short _reserved;
|
private short _reserved;
|
||||||
private byte[] _grpprlPapx;
|
private byte[] _grpprlPapx;
|
||||||
private byte[] _grpprlChpx;
|
private byte[] _grpprlChpx;
|
||||||
private char[] _numberText;
|
private char[] _numberText=null;
|
||||||
|
|
||||||
public ListLevel(int startAt, int numberFormatCode, int alignment,
|
public ListLevel(int startAt, int numberFormatCode, int alignment,
|
||||||
byte[] numberProperties, byte[] entryProperties,
|
byte[] numberProperties, byte[] entryProperties,
|
||||||
@ -112,12 +112,17 @@ public class ListLevel
|
|||||||
offset += _cbGrpprlChpx;
|
offset += _cbGrpprlChpx;
|
||||||
|
|
||||||
int numberTextLength = LittleEndian.getShort(buf, offset);
|
int numberTextLength = LittleEndian.getShort(buf, offset);
|
||||||
_numberText = new char[numberTextLength];
|
/* sometimes numberTextLength<0 */
|
||||||
offset += LittleEndian.SHORT_SIZE;
|
/* by derjohng */
|
||||||
for (int x = 0; x < numberTextLength; x++)
|
if (numberTextLength>0)
|
||||||
{
|
{
|
||||||
_numberText[x] = (char)LittleEndian.getShort(buf, offset);
|
_numberText = new char[numberTextLength];
|
||||||
offset += LittleEndian.SHORT_SIZE;
|
offset += LittleEndian.SHORT_SIZE;
|
||||||
|
for (int x = 0; x < numberTextLength; x++)
|
||||||
|
{
|
||||||
|
_numberText[x] = (char)LittleEndian.getShort(buf, offset);
|
||||||
|
offset += LittleEndian.SHORT_SIZE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -230,7 +235,12 @@ public class ListLevel
|
|||||||
}
|
}
|
||||||
public int getSizeInBytes()
|
public int getSizeInBytes()
|
||||||
{
|
{
|
||||||
return 28 + _cbGrpprlChpx + _cbGrpprlPapx + (_numberText.length * LittleEndian.SHORT_SIZE) + 2;
|
if (_numberText!=null)
|
||||||
|
{
|
||||||
|
return 28 + _cbGrpprlChpx + _cbGrpprlPapx + (_numberText.length * LittleEndian.SHORT_SIZE) + 2;
|
||||||
|
} else {
|
||||||
|
return 28 + _cbGrpprlChpx + _cbGrpprlPapx + 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user