aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2008-02-16 22:40:38 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2008-02-16 22:40:38 +0000
commit4bbcba32aca2948f66c484ab074264fdb67609ae (patch)
treead21322176d956d0ee8942b76e0c73442a313fac
parentadd23a26034a7368f4fdc0707488719048322e89 (diff)
Moved xmltree handlers initialization to xt_new().
-rw-r--r--lib/xmltree.c3
-rw-r--r--lib/xmltree.h4
-rw-r--r--protocols/jabber/io.c3
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/xmltree.c b/lib/xmltree.c
index 62549eb5..e65b4f41 100644
--- a/lib/xmltree.c
+++ b/lib/xmltree.c
@@ -110,11 +110,12 @@ GMarkupParser xt_parser_funcs =
NULL
};
-struct xt_parser *xt_new( gpointer data )
+struct xt_parser *xt_new( const struct xt_handler_entry *handlers, gpointer data )
{
struct xt_parser *xt = g_new0( struct xt_parser, 1 );
xt->data = data;
+ xt->handlers = handlers;
xt_reset( xt );
return xt;
diff --git a/lib/xmltree.h b/lib/xmltree.h
index b8b61641..10677412 100644
--- a/lib/xmltree.h
+++ b/lib/xmltree.h
@@ -70,13 +70,13 @@ struct xt_parser
struct xt_node *root;
struct xt_node *cur;
- struct xt_handler_entry *handlers;
+ const struct xt_handler_entry *handlers;
gpointer data;
GError *gerr;
};
-struct xt_parser *xt_new( gpointer data );
+struct xt_parser *xt_new( const struct xt_handler_entry *handlers, gpointer data );
void xt_reset( struct xt_parser *xt );
int xt_feed( struct xt_parser *xt, char *text, int text_len );
int xt_handle( struct xt_parser *xt, struct xt_node *node, int depth );
diff --git a/protocols/jabber/io.c b/protocols/jabber/io.c
index 86c216ef..9980dc8e 100644
--- a/protocols/jabber/io.c
+++ b/protocols/jabber/io.c
@@ -520,8 +520,7 @@ gboolean jabber_start_stream( struct im_connection *ic )
/* We'll start our stream now, so prepare everything to receive one
from the server too. */
xt_free( jd->xt ); /* In case we're RE-starting. */
- jd->xt = xt_new( ic );
- jd->xt->handlers = (struct xt_handler_entry*) jabber_handlers;
+ jd->xt = xt_new( jabber_handlers, ic );
if( jd->r_inpa <= 0 )
jd->r_inpa = b_input_add( jd->fd, GAIM_INPUT_READ, jabber_read_callback, ic );