# HG changeset patch # User Andreas Monitzer # Date 1184634918 0 # Node ID 27fcb91ae08a26c96667ead3d7c3282b338289c2 # Parent be3f8906eae7cc911089a5188bbfbb58a8f89f04 Implemented error handling for ad-hoc commands. diff -r be3f8906eae7 -r 27fcb91ae08a libpurple/protocols/jabber/adhoccommands.c --- a/libpurple/protocols/jabber/adhoccommands.c Mon Jul 16 14:53:24 2007 +0000 +++ b/libpurple/protocols/jabber/adhoccommands.c Tue Jul 17 01:15:18 2007 +0000 @@ -128,6 +128,20 @@ xmlnode *command = xmlnode_get_child_with_namespace(packet, "command", "http://jabber.org/protocol/commands"); const char *status = xmlnode_get_attrib(command,"status"); xmlnode *xdata = xmlnode_get_child_with_namespace(command,"x","jabber:x:data"); + const char *type = xmlnode_get_attrib(packet,"type"); + + if(type && !strcmp(type,"error")) { + char *msg = jabber_parse_error(js, packet); + if(!msg) + msg = g_strdup(_("Unknown Error")); + + purple_notify_error(NULL, _("Ad-Hoc Command Failed"), + _("Ad-Hoc Command Failed"), msg); + g_free(msg); + return; + } + if(!type || strcmp(type,"result")) + return; if(!status) return;