]> source.dussan.org Git - poi.git/commitdiff
Tweak 7 bit guessing code
authorNick Burch <nick@apache.org>
Fri, 1 Apr 2011 16:27:03 +0000 (16:27 +0000)
committerNick Burch <nick@apache.org>
Fri, 1 Apr 2011 16:27:03 +0000 (16:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1087788 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hsmf/MAPIMessage.java

index 1b3d4939804eb258ad1e9af665cd960857e0ea2e..4d00e79e41bc939ad06e8ba43b2d4e661ac5a083 100644 (file)
@@ -362,20 +362,18 @@ public class MAPIMessage extends POIDocument {
    public void guess7BitEncoding() {
       try {
          String[] headers = getHeaders();
-         if(headers == null || headers.length == 0) {
-            return;
-         }
-
-         // Look for a content type with a charset
-         Pattern p = Pattern.compile("Content-Type:.*?charset=[\"']?(.*?)[\"']?");
-         for(String header : headers) {
-            if(header.startsWith("Content-Type")) {
-               Matcher m = p.matcher(header);
-               if(m.matches()) {
-                  // Found it! Tell all the string chunks
-                  String charset = m.group(1);
-                  set7BitEncoding(charset);
-                  return;
+         if(headers != null && headers.length > 0) {
+            // Look for a content type with a charset
+            Pattern p = Pattern.compile("Content-Type:.*?charset=[\"']?(.*?)[\"']?");
+            for(String header : headers) {
+               if(header.startsWith("Content-Type")) {
+                  Matcher m = p.matcher(header);
+                  if(m.matches()) {
+                     // Found it! Tell all the string chunks
+                     String charset = m.group(1);
+                     set7BitEncoding(charset);
+                     return;
+                  }
                }
             }
          }
@@ -384,17 +382,18 @@ public class MAPIMessage extends POIDocument {
       // Nothing suitable in the headers, try HTML
       try {
          String html = getHmtlBody();
-         
-         // Look for a content type in the meta headers
-         Pattern p = Pattern.compile(
-               "<META\\s+HTTP-EQUIV=\"Content-Type\"\\s+CONTENT=\"text/html;\\s+charset=(.*?)\""
-         );
-         Matcher m = p.matcher(html);
-         if(m.find()) {
-            // Found it! Tell all the string chunks
-            String charset = m.group(1);
-            set7BitEncoding(charset);
-            return;
+         if(html != null && html.length() > 0) {
+            // Look for a content type in the meta headers
+            Pattern p = Pattern.compile(
+                  "<META\\s+HTTP-EQUIV=\"Content-Type\"\\s+CONTENT=\"text/html;\\s+charset=(.*?)\""
+            );
+            Matcher m = p.matcher(html);
+            if(m.find()) {
+               // Found it! Tell all the string chunks
+               String charset = m.group(1);
+               set7BitEncoding(charset);
+               return;
+            }
          }
       } catch(ChunkNotFoundException e) {}
    }