aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber_util.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-03-06 14:50:52 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2010-03-06 14:50:52 +0000
commit840bba81bc4ab7ce37aeeea5f32091684b19e5b8 (patch)
tree0baee2717433122e7ccd4d49617825e8db2b9400 /protocols/jabber/jabber_util.c
parentd1ad6f0973bda799bdf21e36f20dc58f7bb1bf08 (diff)
The Jabber part of the change. Also made representation of not-away a bit
more consistent. Except for free-for-chat, which is nuts anyway.
Diffstat (limited to 'protocols/jabber/jabber_util.c')
-rw-r--r--protocols/jabber/jabber_util.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/protocols/jabber/jabber_util.c b/protocols/jabber/jabber_util.c
index 19a73b6a..185d3878 100644
--- a/protocols/jabber/jabber_util.c
+++ b/protocols/jabber/jabber_util.c
@@ -227,10 +227,9 @@ xt_status jabber_cache_handle_packet( struct im_connection *ic, struct xt_node *
const struct jabber_away_state jabber_away_state_list[] =
{
{ "away", "Away" },
- { "chat", "Free for Chat" },
+ { "chat", "Free for Chat" }, /* WTF actually uses this? */
{ "dnd", "Do not Disturb" },
{ "xa", "Extended Away" },
- { "", "Online" },
{ "", NULL }
};
@@ -238,6 +237,9 @@ const struct jabber_away_state *jabber_away_state_by_code( char *code )
{
int i;
+ if( code == NULL )
+ return NULL;
+
for( i = 0; jabber_away_state_list[i].full_name; i ++ )
if( g_strcasecmp( jabber_away_state_list[i].code, code ) == 0 )
return jabber_away_state_list + i;
@@ -249,6 +251,9 @@ const struct jabber_away_state *jabber_away_state_by_name( char *name )
{
int i;
+ if( name == NULL )
+ return NULL;
+
for( i = 0; jabber_away_state_list[i].full_name; i ++ )
if( g_strcasecmp( jabber_away_state_list[i].full_name, name ) == 0 )
return jabber_away_state_list + i;