changeset 14476:218a36c1c9e2

[gaim-migrate @ 17194] The signal to noise ratio here isn't very good, but I hate comments that don't wrap cleanly. Anyway, apparently libxml2 has intermittent start-parsing errors, so we need to force it to actually start with this line. Sean pulled it out a bit ago but that was causing issues with logins just hanging sometimes. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Fri, 08 Sep 2006 22:47:36 +0000
parents feedb7828791
children ca36763497d9
files libgaim/protocols/jabber/parser.c
diffstat 1 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libgaim/protocols/jabber/parser.c	Fri Sep 08 14:43:34 2006 +0000
+++ b/libgaim/protocols/jabber/parser.c	Fri Sep 08 22:47:36 2006 +0000
@@ -156,10 +156,10 @@
 void
 jabber_parser_setup(JabberStream *js)
 {
-	/* This seems backwards, but it makes sense. The libxml code creates the parser
-	 * context when you try to use it (this way, it can figure out the encoding at
-	 * creation time. So, setting up the parser is just a matter of destroying any
-	 * current parser. */
+	/* This seems backwards, but it makes sense. The libxml code creates
+	 * the parser context when you try to use it (this way, it can figure
+	 * out the encoding at creation time. So, setting up the parser is
+	 * just a matter of destroying any current parser. */
 	if (js->context) {
 		xmlParseChunk(js->context, NULL,0,1);
 		xmlFreeParserCtxt(js->context);
@@ -171,9 +171,10 @@
 void jabber_parser_process(JabberStream *js, const char *buf, int len)
 {
 	if (js->context ==  NULL) {
-		/* libxml inconsistently starts parsing on creating the parser, so so a ParseChunk
-		 * right afterwards to force it. */
+		/* libxml inconsistently starts parsing on creating the
+		 * parser, so do a ParseChunk right afterwards to force it. */
 		js->context = xmlCreatePushParserCtxt(&jabber_parser_libxml, js, buf, len, NULL);
+		xmlParseChunk(js->context, NULL, 0, 0);
 	} else if (xmlParseChunk(js->context, buf, len, 0) < 0) {
 		gaim_connection_error(js->gc, _("XML Parse error"));
 	}