]> source.dussan.org Git - poi.git/commitdiff
put back the goto - it is terrible but poi-integration tests hang without it
authorPJ Fanning <fanningpj@apache.org>
Fri, 24 Sep 2021 16:43:44 +0000 (16:43 +0000)
committerPJ Fanning <fanningpj@apache.org>
Fri, 24 Sep 2021 16:43:44 +0000 (16:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1893604 13f79535-47bb-0310-9956-ffa450edef68

poi/src/main/java/org/apache/poi/hssf/usermodel/HeaderFooter.java

index 7c9792d9ccfe45ea0e53dadd7d6e615200127040..9d369ad3780d103fbb93f8e416fda1125969d33b 100644 (file)
@@ -40,6 +40,10 @@ public abstract class HeaderFooter implements org.apache.poi.ss.usermodel.Header
         String _center = "";
         String _right = "";
 
+// FIXME: replace outer goto. just eww.
+// no unit tests test the goto loop but poi-integration tests hangs if you remove it
+// (some file has an edge case header or footer)
+        outer:
         while (text.length() > 1) {
             if (text.charAt(0) != '&') {
                 // Mimics the behaviour of Excel, which would put it in the center.
@@ -81,7 +85,7 @@ public abstract class HeaderFooter implements org.apache.poi.ss.usermodel.Header
                 default:
                     // Mimics the behaviour of Excel, which would put it in the center.
                     _center = text;
-                    break;
+                    break outer;
             }
         }
         return new String[] { _left, _center, _right, };
@@ -344,4 +348,4 @@ public abstract class HeaderFooter implements org.apache.poi.ss.usermodel.Header
             return _occursInPairs;
         }
     }
-}
\ No newline at end of file
+}