diff options
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/bee.h | 1 | ||||
-rw-r--r-- | protocols/bee_chat.c | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/protocols/bee.h b/protocols/bee.h index 27e31d05..982bb914 100644 --- a/protocols/bee.h +++ b/protocols/bee.h @@ -125,5 +125,6 @@ void imcb_chat_add_buddy( struct groupchat *b, const char *handle ); void imcb_chat_remove_buddy( struct groupchat *b, const char *handle, const char *reason ); static int remove_chat_buddy_silent( struct groupchat *b, const char *handle ); #endif +int bee_chat_msg( bee_t *bee, struct groupchat *c, const char *msg, int flags ); #endif /* __BEE_H__ */ diff --git a/protocols/bee_chat.c b/protocols/bee_chat.c index f1d1a2c1..b523e544 100644 --- a/protocols/bee_chat.c +++ b/protocols/bee_chat.c @@ -246,3 +246,23 @@ static int remove_chat_buddy_silent( struct groupchat *b, const char *handle ) return 0; } #endif + +int bee_chat_msg( bee_t *bee, struct groupchat *c, const char *msg, int flags ) +{ + struct im_connection *ic = c->ic; + char *buf = NULL; + int st; + + if( ( ic->flags & OPT_DOES_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) ) + { + buf = escape_html( msg ); + msg = buf; + } + else + buf = g_strdup( msg ); + + ic->acc->prpl->chat_msg( c, buf, flags ); + g_free( buf ); + + return 1; +} |