[Telepathy-commits] [telepathy-mission-control/master] Common code for handling errors

Alberto Mardegan alberto.mardegan at nokia.com
Mon Jan 5 04:12:14 PST 2009


---
 src/mcd-manager.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/mcd-manager.c b/src/mcd-manager.c
index 7f1e0d0..6c38c8b 100644
--- a/src/mcd-manager.c
+++ b/src/mcd-manager.c
@@ -525,9 +525,7 @@ mcd_manager_setup (McdManager *manager)
     {
         g_warning ("%s, cannot create manager %s: %s", G_STRFUNC,
                    priv->name, error->message);
-        g_error_free (error);
-        g_free (filename);
-        return FALSE;
+        goto error;
     }
 
     keyfile = g_key_file_new ();
@@ -536,10 +534,7 @@ mcd_manager_setup (McdManager *manager)
     {
 	g_warning ("%s: loading %s failed: %s", G_STRFUNC,
 		   filename, error->message);
-	g_error_free (error);
-	g_free (filename);
-        g_object_unref (priv->tp_conn_mgr);
-	return FALSE;
+        goto error;
     }
     g_free (filename);
 
@@ -548,6 +543,15 @@ mcd_manager_setup (McdManager *manager)
 
     g_debug ("%s: Manager %s created", G_STRFUNC, priv->name);
     return TRUE;
+
+error:
+    if (priv->tp_conn_mgr)
+        g_object_unref (priv->tp_conn_mgr);
+    if (error)
+        g_error_free (error);
+    g_free (filename);
+
+    return FALSE;
 }
 
 static GObject *
-- 
1.5.6.5




More information about the Telepathy-commits mailing list