changeset 1704:ab502d645378

Update display_server_error() Do not display the error code if we can give a tag or description.
author Mikael Berthe <mikael@lilotux.net>
date Mon, 08 Feb 2010 19:36:56 +0100
parents 65ba89949252
children ac881b5f9248
files mcabber/mcabber/xmpp_helper.c
diffstat 1 files changed, 9 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/mcabber/xmpp_helper.c	Mon Feb 08 19:15:55 2010 +0100
+++ b/mcabber/mcabber/xmpp_helper.c	Mon Feb 08 19:36:56 2010 +0100
@@ -346,9 +346,8 @@
 // x: error tag xmlnode pointer
 void display_server_error(LmMessageNode *x)
 {
-  const char *desc = NULL, *p=NULL, *s;
+  const char *desc = NULL, *errname=NULL, *s;
   char *sdesc, *tmp;
-  int code = 0;
 
   if (!x) return;
 
@@ -359,15 +358,14 @@
    *          qualified by the 'urn:ietf:params:xml:ns:xmpp-stanzas' namespace.
    */
   if (x->children)
-    p = x->children->name;
-  if (p)
-    scr_LogPrint(LPRINT_LOGNORM, "Received error packet [%s]", p);
+    errname = x->children->name;
+  scr_LogPrint(LPRINT_LOGNORM, "Received error packet [%s]",
+               (errname ? errname : ""));
 
   // For backward compatibility
-  if ((s = lm_message_node_get_attribute(x, "code")) != NULL) {
-    code = atoi(s);
+  if (!errname && ((s = lm_message_node_get_attribute(x, "code")) != NULL)) {
     // Default message
-    desc = defaulterrormsg(code);
+    desc = defaulterrormsg(atoi(s));
   }
 
   // Error tag data is better, if available
@@ -380,7 +378,7 @@
   if (s && *s) desc = s;
 
   // If we still have no description, let's give up
-  if (!desc)
+  if (!desc || !*desc)
     return;
 
   // Strip trailing newlines
@@ -391,7 +389,8 @@
   while (tmp >= sdesc && (*tmp == '\n' || *tmp == '\r'))
     *tmp-- = '\0';
 
-  scr_LogPrint(LPRINT_LOGNORM, "Error code from server: %d %s", code, sdesc);
+  if (*sdesc)
+    scr_LogPrint(LPRINT_LOGNORM, "Error message from server: %s", sdesc);
   g_free(sdesc);
 }