Enlightenment CVS committal

Author  : tsauerbeck
Project : misc
Module  : embrace

Dir     : misc/embrace/src/plugins/sylpheed


Modified Files:
        sylpheed.c 


Log Message:
fixed the sylpheed plugin, which was horribly broken
===================================================================
RCS file: /cvsroot/enlightenment/misc/embrace/src/plugins/sylpheed/sylpheed.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- sylpheed.c  29 Jan 2005 14:51:36 -0000      1.1
+++ sylpheed.c  30 Jan 2005 16:20:25 -0000      1.2
@@ -1,5 +1,5 @@
 /*
- * $Id: sylpheed.c,v 1.1 2005/01/29 14:51:36 tsauerbeck Exp $
+ * $Id: sylpheed.c,v 1.2 2005/01/30 16:20:25 tsauerbeck Exp $
  *
  * Copyright (C) 2004 Embrace project.
  *
@@ -117,10 +117,8 @@
 static bool sylpheed_check (MailBox *mb)
 {
        xmlDocPtr xml;
-       xmlNodeSetPtr nodeset;
-       xmlXPathObjectPtr result_new, result_total;
-       char xpath[100];
-       int total = 0, unseen = 0;
+       const char *tags[] = {"new", "total"};
+       int i;
 
        assert (mb);
 
@@ -130,34 +128,37 @@
                return false;
        }
 
-       snprintf (xpath, sizeof (xpath),
-                       "//folderlist/[EMAIL PROTECTED]'%s\']/[EMAIL 
PROTECTED]'%s\']/@new",
-                       (char*) mailbox_property_get (mb, "mailbox"),
-                       (char*) mailbox_property_get (mb, "folder"));
+       for (i = 0; i < 2; i++) {
+               xmlXPathObjectPtr set;
+               xmlNodePtr node;
+               xmlChar *ch;
+               char xpath[256];
+
+               snprintf (xpath, sizeof (xpath),
+                         "//folderlist/[EMAIL PROTECTED]'%s\']"
+                         "/[EMAIL PROTECTED]'%s\']/@%s",
+                         (char *) mailbox_property_get (mb, "mailbox"),
+                         (char *) mailbox_property_get (mb, "folder"),
+                         tags[i]);
+
+               set = get_nodeset (xml, xpath);
+               if (!set)
+                       continue;
+
+               node = set->nodesetval->nodeTab[0]->xmlChildrenNode;
+               assert (node);
+
+               ch = xmlNodeListGetString (xml, node, 1);
+               assert (ch);
+
+               if (!i)
+                       mailbox_unseen_set (mb, xmlXPathCastStringToNumber 
(ch));
+               else
+                       mailbox_total_set (mb, xmlXPathCastStringToNumber (ch));
 
-       result_new = get_nodeset (xml, xpath);
-       if (!result_new)
-               return false;
-
-       snprintf (xpath, sizeof (xpath),
-                       "//folderlist/[EMAIL PROTECTED]'%s\']/[EMAIL 
PROTECTED]'%s\']/@total",
-                       (char*) mailbox_property_get (mb, "mailbox"),
-                       (char*) mailbox_property_get (mb, "folder"));
-
-       result_total = get_nodeset (xml, xpath);
-       if (!result_total)
-               return false;
-
-       nodeset = result_new->nodesetval;
-       unseen = (int) xmlXPathCastStringToNumber (xmlNodeListGetString (xml,
-               nodeset->nodeTab[0]->xmlChildrenNode, 1));
-
-       nodeset = result_total->nodesetval;
-       total = (int) xmlXPathCastStringToNumber (xmlNodeListGetString (xml,
-               nodeset->nodeTab[0]->xmlChildrenNode, 1));
+               xmlXPathFreeObject (set);
+       }
 
-       xmlXPathFreeObject (result_new);
-       xmlXPathFreeObject (result_total);
        xmlFreeDoc (xml);
        xmlCleanupParser ();
 




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to