Mercurial > pidgin.yaz
diff src/protocols/jabber/presence.c @ 7644:4168b8881746
[gaim-migrate @ 8287]
some error goodness
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Thu, 27 Nov 2003 07:04:26 +0000 |
parents | 2df4d470c12a |
children | 8bba34c04c9d |
line wrap: on
line diff
--- a/src/protocols/jabber/presence.c Wed Nov 26 17:59:04 2003 +0000 +++ b/src/protocols/jabber/presence.c Thu Nov 27 07:04:26 2003 +0000 @@ -163,17 +163,20 @@ } if(type && !strcasecmp(type, "error")) { + const char *code = NULL; + char *err_txt = NULL; + state = JABBER_STATE_ERROR; if((y = xmlnode_get_child(packet, "error")) != NULL) { /* XXX: need to handle new XMPP-style errors */ - char *txt = xmlnode_get_data(y); - jb->error_msg = g_strdup_printf(_("%s (Code %s)"), - txt ? txt : "Error", xmlnode_get_attrib(y, "code")); - if(txt) - g_free(txt); - } else { - jb->error_msg = g_strdup(_("Unknown Error in presence")); + code = xmlnode_get_attrib(y, "code"); + err_txt = xmlnode_get_data(y); } + jb->error_msg = g_strdup_printf("%s%s%s", code ? code : "", + code ? ": " : "", err_txt ? err_txt : + _("Unknown Error in presence")); + if(err_txt) + g_free(err_txt); } else if(type && !strcasecmp(type, "subscribe")) { struct _jabber_add_permit *jap = g_new0(struct _jabber_add_permit, 1); char *msg = g_strdup_printf(_("The user %s wants to add you to their buddy list."), from);