aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2011-05-04 03:11:28 +0000
committerNick Burch <nick@apache.org>2011-05-04 03:11:28 +0000
commit1a74a0c1146e30ca2ddecf8ef484a645289171ee (patch)
tree4cc4df4ff65f18f6783d2cdf4c6a891ba56f8c15 /src
parentbae166f687aae81044f5b4f81d0222d2937cb33d (diff)
downloadpoi-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.xml1
-rw-r--r--src/java/org/apache/poi/hssf/record/NameCommentRecord.java4
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java11
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());
+ }
}