aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/poi/hssf
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2008-05-06 16:38:34 +0000
committerNick Burch <nick@apache.org>2008-05-06 16:38:34 +0000
commit21cbfa84405326a04e3dc0516a07c78297c634e6 (patch)
treee829eca22082b7760cf8053734c52d886f08ff75 /src/java/org/apache/poi/hssf
parent700d7a5dea73a629ca7da76cf9e517995f28890a (diff)
downloadpoi-21cbfa84405326a04e3dc0516a07c78297c634e6.tar.gz
poi-21cbfa84405326a04e3dc0516a07c78297c634e6.zip
Fix up the functionMetadata.txt stuff to be end-to-end UTF8. Was assuming it before, but breaking on some systems, while now it ought to work fine everywhere
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@653831 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/poi/hssf')
-rw-r--r--src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java b/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java
index 2cdc540e6f..9ea428c8df 100644
--- a/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java
+++ b/src/java/org/apache/poi/hssf/record/formula/function/FunctionMetadataReader.java
@@ -21,6 +21,7 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -58,7 +59,10 @@ final class FunctionMetadataReader {
throw new RuntimeException("resource '" + METADATA_FILE_NAME + "' not found");
}
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ BufferedReader br = null;
+ try {
+ br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
+ } catch(UnsupportedEncodingException e) { /* never happens */ }
FunctionDataBuilder fdb = new FunctionDataBuilder(400);
try {
@@ -153,7 +157,7 @@ final class FunctionMetadataReader {
case 'R': return Ptg.CLASS_REF;
case 'A': return Ptg.CLASS_ARRAY;
}
- throw new IllegalArgumentException("Unexpected operand type code '" + code + "'");
+ throw new IllegalArgumentException("Unexpected operand type code '" + code + "' (" + (int)code.charAt(0) + ")");
}
/**