html: Simplify htmlParseTryOrFinish a little
diff --git a/HTMLparser.c b/HTMLparser.c
index b5f0bd5..5f6269b 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -4939,33 +4939,29 @@
  *
  * Returns zero if no parsing was possible
  */
-static int
+static void
 htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
-    int ret = 0;
-    htmlParserInputPtr in;
-    size_t avail = 0;
-    int cur;
-
     while (PARSER_STOPPED(ctxt) == 0) {
+        htmlParserInputPtr in;
+        size_t avail;
 
 	in = ctxt->input;
 	if (in == NULL) break;
 	avail = in->end - in->cur;
-        cur = in->cur[0];
 
         switch (ctxt->instate) {
             case XML_PARSER_EOF:
 	        /*
 		 * Document parsing is done !
 		 */
-	        goto done;
+	        return;
 
             case XML_PARSER_START:
                 /*
                  * Very first chars read from the document flow.
                  */
                 if ((!terminate) && (avail < 4))
-                    goto done;
+                    return;
 
                 xmlDetectEncoding(ctxt);
 
@@ -5004,7 +5000,7 @@
             case XML_PARSER_START_TAG:
 		if ((!terminate) &&
 		    (htmlParseLookupGt(ctxt) < 0))
-		    goto done;
+		    return;
 
                 htmlParseElementInternal(ctxt);
 
@@ -5023,8 +5019,7 @@
                 }
 
 		if (avail < 1)
-		    goto done;
-		cur = in->cur[0];
+		    return;
                 /*
                  * Note that endCheckState is also used by
                  * xmlParseLookupGt.
@@ -5041,7 +5036,7 @@
                         if ((!terminate) &&
                             (htmlParseLookupString(ctxt, 0, "<", 1,
                                                    extra) < 0))
-                            goto done;
+                            return;
                         ctxt->checkIndex = 0;
 
                         if (htmlParseCharData(ctxt))
@@ -5049,12 +5044,12 @@
                     }
 
                     break;
-		} else if (cur == '<') {
+		} else if (in->cur[0] == '<') {
                     int next;
 
                     if (avail < 2) {
                         if (!terminate)
-                            goto done;
+                            return;
                         next = ' ';
                     } else {
                         next = in->cur[1];
@@ -5062,11 +5057,11 @@
 
                     if (next == '!') {
                         if ((!terminate) && (avail < 4))
-                            goto done;
+                            return;
                         if ((in->cur[2] == '-') && (in->cur[3] == '-')) {
                             if ((!terminate) &&
                                 (htmlParseLookupCommentEnd(ctxt) < 0))
-                                goto done;
+                                return;
                             SKIP(4);
                             htmlParseComment(ctxt, /* bogus */ 0);
                             /* don't change state */
@@ -5074,7 +5069,7 @@
                         }
 
                         if ((!terminate) && (avail < 9))
-                            goto done;
+                            return;
                         if ((UPP(2) == 'D') && (UPP(3) == 'O') &&
                             (UPP(4) == 'C') && (UPP(5) == 'T') &&
                             (UPP(6) == 'Y') && (UPP(7) == 'P') &&
@@ -5082,7 +5077,7 @@
                             if ((!terminate) &&
                                 (htmlParseLookupString(ctxt, 9, ">", 1,
                                                        0) < 0))
-                                goto done;
+                                return;
                             htmlParseDocTypeDecl(ctxt);
                             if (ctxt->instate == XML_PARSER_MISC)
                                 ctxt->instate = XML_PARSER_PROLOG;
@@ -5092,14 +5087,14 @@
                             ctxt->instate = XML_PARSER_CONTENT;
                             if ((!terminate) &&
                                 (htmlParseLookupString(ctxt, 2, ">", 1, 0) < 0))
-                                goto done;
+                                return;
                             SKIP(2);
                             htmlParseComment(ctxt, /* bogus */ 1);
                         }
                     } else if (next == '?') {
                         if ((!terminate) &&
                             (htmlParseLookupString(ctxt, 2, ">", 1, 0) < 0))
-                            goto done;
+                            return;
                         SKIP(1);
                         htmlParseComment(ctxt, /* bogus */ 1);
                         /* don't change state */
@@ -5128,7 +5123,7 @@
                      */
                     if ((!terminate) &&
                         (htmlParseLookupString(ctxt, 0, "<", 1, 0) < 0))
-                        goto done;
+                        return;
                     ctxt->checkIndex = 0;
                     htmlParseCharData(ctxt);
 		}
@@ -5139,7 +5134,7 @@
             case XML_PARSER_END_TAG:
 		if ((!terminate) &&
 		    (htmlParseLookupGt(ctxt) < 0))
-		    goto done;
+		    return;
 		htmlParseEndTag(ctxt);
 		ctxt->instate = XML_PARSER_CONTENT;
 		ctxt->checkIndex = 0;
@@ -5152,8 +5147,6 @@
 		break;
 	}
     }
-done:
-    return(ret);
 }
 
 /**