diff options
author | Nick Burch <nick@apache.org> | 2011-05-04 03:11:28 +0000 |
---|---|---|
committer | Nick Burch <nick@apache.org> | 2011-05-04 03:11:28 +0000 |
commit | 1a74a0c1146e30ca2ddecf8ef484a645289171ee (patch) | |
tree | 4cc4df4ff65f18f6783d2cdf4c6a891ba56f8c15 /src | |
parent | bae166f687aae81044f5b4f81d0222d2937cb33d (diff) | |
download | poi-1a74a0c1146e30ca2ddecf8ef484a645289171ee.tar.gz poi-1a74a0c1146e30ca2ddecf8ef484a645289171ee.zip |
Fix bug #51143 - Correct NameCommentRecord to properly serialise strings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1099313 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r-- | src/documentation/content/xdocs/status.xml | 1 | ||||
-rw-r--r-- | src/java/org/apache/poi/hssf/record/NameCommentRecord.java | 4 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java | 11 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index 7b1b3bbfd4..a87636e9f7 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ <changes> <release version="3.8-beta3" date="2011-??-??"> + <action dev="poi-developers" type="fix">51143 - NameCommentRecord correction for writing non ASCII strings</action> <action dev="poi-developers" type="fix">51112 - Correct XWPFTable tracking of new rows</action> <action dev="poi-developers" type="fix">51113 - Correct XWPFParagraph tracking of inserted runs</action> <action dev="poi-developers" type="fix">51111 - Correct XWPFParagraph tracking of new runs</action> diff --git a/src/java/org/apache/poi/hssf/record/NameCommentRecord.java b/src/java/org/apache/poi/hssf/record/NameCommentRecord.java index 36d6132d0b..ed33c2d1f2 100644 --- a/src/java/org/apache/poi/hssf/record/NameCommentRecord.java +++ b/src/java/org/apache/poi/hssf/record/NameCommentRecord.java @@ -63,9 +63,9 @@ public final class NameCommentRecord extends StandardRecord { out.writeShort(field_5_comment_length); out.writeByte(0); - out.write(field_6_name_text.getBytes()); + StringUtil.putCompressedUnicode(field_6_name_text, out); out.writeByte(0); - out.write(field_7_comment_text.getBytes()); + StringUtil.putCompressedUnicode(field_7_comment_text, out); } @Override diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 2dfe1a01ae..8341f465a5 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -2112,4 +2112,15 @@ if(1==2) { c.setCellFormula("HLOOKUP(\"v A1\", A1:B2, 1, )"); assertEquals("v A1", eval.evaluate(c).getStringValue()); } + + /** + * Mixture of Ascii and Unicode strings in a + * NameComment record + */ + public void test51143() throws Exception { + HSSFWorkbook wb = openSample("51143.xls"); + assertEquals(1, wb.getNumberOfSheets()); + wb = writeOutAndReadBack(wb); + assertEquals(1, wb.getNumberOfSheets()); + } } |