diff options
Diffstat (limited to 'protocols/jabber/jabber_util.c')
-rw-r--r-- | protocols/jabber/jabber_util.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/protocols/jabber/jabber_util.c b/protocols/jabber/jabber_util.c index ff79cb16..46811d05 100644 --- a/protocols/jabber/jabber_util.c +++ b/protocols/jabber/jabber_util.c @@ -1,7 +1,7 @@ /***************************************************************************\ * * * BitlBee - An IRC to IM gateway * -* Jabber module - Main file * +* Jabber module - Misc. stuff * * * * Copyright 2006 Wilmer van der Gaast <wilmer@gaast.net> * * * @@ -23,6 +23,8 @@ #include "jabber.h" +static int next_id = 1; + char *set_eval_resprio( set_t *set, char *value ) { account_t *acc = set->data; @@ -46,3 +48,21 @@ char *set_eval_tls( set_t *set, char *value ) else return set_eval_bool( set, value ); } + +struct xt_node *jabber_make_packet( char *name, char *type, char *to, struct xt_node *children ) +{ + char *id = g_strdup_printf( "BeeX%04x", next_id++ ); + struct xt_node *node; + + node = xt_new_node( name, NULL, children ); + + xt_add_attr( node, "id", id ); + if( type ) + xt_add_attr( node, "type", type ); + if( to ) + xt_add_attr( node, "to", to ); + + g_free( id ); + + return node; +} |