Enlightenment CVS committal
Author : sebastid
Project : misc
Module : embrace
Dir : misc/embrace/src/plugins/imap
Modified Files:
imap.c
Log Message:
Fix memleak in imap plugin.
===================================================================
RCS file: /cvsroot/enlightenment/misc/embrace/src/plugins/imap/imap.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- imap.c 3 Sep 2005 12:38:43 -0000 1.20
+++ imap.c 3 Sep 2005 13:03:15 -0000 1.21
@@ -1,5 +1,5 @@
/*
- * $Id: imap.c,v 1.20 2005/09/03 12:38:43 tsauerbeck Exp $
+ * $Id: imap.c,v 1.21 2005/09/03 13:03:15 sebastid Exp $
* vim:noexpandtab:ts=4:sw=4:sts=4
*
* Copyright (C) 2004 Embrace project.
@@ -308,6 +308,23 @@
return s;
}
+static bool destroy_server (ImapServer *server)
+{
+ assert (server);
+
+ free (server->host);
+ free (server->user);
+ free (server->pass);
+
+ if (server->timer)
+ ecore_timer_del (server->timer);
+
+ servers = evas_list_remove (servers, server);
+ free (server);
+
+ return true;
+}
+
static bool imap_add_server (MailBox *mb)
{
ImapServer *server;
@@ -332,7 +349,7 @@
server->timer = ecore_timer_add (server->interval,
on_timer, server);
if (!server->timer) {
- free (server);
+ destroy_server (server);
return false;
}
}
@@ -351,16 +368,8 @@
/* FIXME: reschedule server timer */
server->clients = evas_list_remove (server->clients, mb);
- if (!server->clients) {
- free (server->host);
- free (server->user);
- free (server->pass);
-
- ecore_timer_del (server->timer);
-
- servers = evas_list_remove (servers, server);
- free (server);
- }
+ if (!server->clients)
+ destroy_server (server);
return true;
}
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs