From c89d06861b146b25e240e763549688333fe6eecf Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 10 Dec 2014 12:28:08 +0100 Subject: [PATCH] Use switch-case in PacketParserUtils.parseContentDepthWithoutRoundtrip() --- .../smack/util/PacketParserUtils.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java b/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java index 09589d853..f057f2079 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java @@ -443,8 +443,9 @@ public class PacketParserUtils { // it. This 'flag' ensures that when a namespace is set for an element, it won't be set again // in a nested element. It's an ugly workaround that has the potential to break things. String namespaceElement = null; - while (true) { - if (event == XmlPullParser.START_TAG) { + outerloop: while (true) { + switch (event) { + case XmlPullParser.START_TAG: xml.halfOpenElement(parser.getName()); if (namespaceElement == null || fullNamespaces) { String namespace = parser.getNamespace(); @@ -463,8 +464,8 @@ public class PacketParserUtils { else { xml.rightAngleBracket(); } - } - else if (event == XmlPullParser.END_TAG) { + break; + case XmlPullParser.END_TAG: if (isEmptyElement) { // Do nothing as the element was already closed, just reset the flag isEmptyElement = false; @@ -478,11 +479,12 @@ public class PacketParserUtils { } if (parser.getDepth() <= depth) { // Abort parsing, we are done - break; + break outerloop; } - } - else if (event == XmlPullParser.TEXT) { + break; + case XmlPullParser.TEXT: xml.append(parser.getText()); + break; } event = parser.next(); }