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