jheight 2003/10/14 00:57:10
Modified: src/java/org/apache/poi/hssf/record SSTDeserializer.java
Log:
Fix for big strings
Revision Changes Path
1.8 +7 -3
jakarta-poi/src/java/org/apache/poi/hssf/record/SSTDeserializer.java
Index: SSTDeserializer.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/SSTDeserializer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SSTDeserializer.java 14 Oct 2003 06:53:59 -0000 1.7
+++ SSTDeserializer.java 14 Oct 2003 07:57:10 -0000 1.8
@@ -425,10 +425,14 @@
int charsRead = calculateCharCount( dataLengthInBytes );
LittleEndian.putShort( unicodeStringData, (byte) 0, (short) charsRead );
arraycopy( record, 0, unicodeStringData, LittleEndianConsts.SHORT_SIZE,
record.length );
- UnicodeString ucs = new UnicodeString( UnicodeString.sid, (short)
unicodeStringData.length, unicodeStringData );
+ UnicodeString ucs = new UnicodeString( UnicodeString.sid, (short)
unicodeStringData.length, unicodeStringData, unfinishedString);
- unfinishedString = unfinishedString + ucs.getString();
- setContinuationCharsRead( charsRead );
+ unfinishedString = ucs.getString();
+ setContinuationCharsRead( getContinuationCharsRead() + charsRead );
+ if (getContinuationCharsRead() == charCount) {
+ Integer integer = new Integer( strings.size() );
+ addToStringTable( strings, integer, ucs );
+ }
}
private boolean stringSpansContinuation( int continuationSizeInBytes )
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]