[gnac] Code optimisation



commit 44637f10dc55f701bef7c8aeef5fcffd1e56ff29
Author: BenoÃt Dupasquier <bdupasqu src gnome org>
Date:   Fri Feb 17 00:39:13 2012 +0000

    Code optimisation

 src/profiles/gnac-profiles-manager.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/src/profiles/gnac-profiles-manager.c b/src/profiles/gnac-profiles-manager.c
index 3ba18d1..2640b1e 100644
--- a/src/profiles/gnac-profiles-manager.c
+++ b/src/profiles/gnac-profiles-manager.c
@@ -287,14 +287,15 @@ gnac_profiles_mgr_list_profiles(void)
   gchar *last_used_profile = gnac_settings_get_string(
       GNAC_KEY_LAST_USED_PROFILE);
 
+  GFile *profile_file = g_file_enumerator_get_container(files);
+  gchar *profile_file_path = g_file_get_path(profile_file);
+
   GFileInfo *file_info;
-  GSList    *profiles = NULL;
+  GSList *profiles = NULL;
 
   while ((file_info = g_file_enumerator_next_file(files, NULL, NULL))) {
     if (g_file_info_get_file_type(file_info) == G_FILE_TYPE_REGULAR) {
       AudioProfileGeneric *profile;
-      GFile *profile_file = g_file_enumerator_get_container(files);
-      gchar *profile_file_path = g_file_get_path(profile_file);
       const gchar *profile_file_name = g_file_info_get_name(file_info);
       gchar *profile_file_full_path = g_build_filename(profile_file_path,
           profile_file_name, NULL);
@@ -305,13 +306,14 @@ gnac_profiles_mgr_list_profiles(void)
         profiles = g_slist_prepend(profiles, name);
       }
 
-      g_free(profile_file_path);
       g_free(profile_file_full_path);
     }
 
     g_object_unref(file_info);
   }
 
+  g_free(profile_file_path);
+
   profiles = g_slist_reverse(profiles);
 
   guint count = g_slist_length(profiles);
@@ -395,17 +397,17 @@ gnac_profiles_mgr_populate(void)
     file_info = g_file_enumerator_next_file(files, NULL, NULL);
   }
 
+  GFile *profile_file = g_file_enumerator_get_container(files);
+  gchar *profile_file_path = g_file_get_path(profile_file);
+
   while (file_info) {
     if (g_file_info_get_file_type(file_info) == G_FILE_TYPE_REGULAR) {
-      GFile *profile_file = g_file_enumerator_get_container(files);
-      gchar *profile_file_path = g_file_get_path(profile_file);
       const gchar *profile_file_name = g_file_info_get_name(file_info);
       gchar *profile_file_full_path = g_build_filename(profile_file_path,
           profile_file_name, NULL);
       gpointer profile = gnac_profiles_properties_load_profile_from_file(
           profile_file_full_path, profile_file_name, &error);
 
-      g_free(profile_file_path);
       g_free(profile_file_full_path);
 
       if (profile) {
@@ -423,6 +425,7 @@ gnac_profiles_mgr_populate(void)
   gnac_profiles_mgr_display_status_message(NULL, NULL);
 
   g_object_unref(dir);
+  g_free(profile_file_path);
   g_file_enumerator_close(files, NULL, NULL);
   g_object_unref(files);
 }
@@ -464,12 +467,13 @@ gnac_profiles_mgr_import_default_profiles(void)
 
   GFileEnumerator *files = gnac_profiles_mgr_get_default_profiles_enumerator();
 
+  GFile *profile_file = g_file_enumerator_get_container(files);
+  gchar *profile_file_path = g_file_get_path(profile_file);
+
   GFileInfo *file_info;
   while ((file_info = g_file_enumerator_next_file(files, NULL, NULL))) {
     if (g_file_info_get_file_type(file_info) == G_FILE_TYPE_REGULAR) {
       GError *error = NULL;
-      GFile *profile_file = g_file_enumerator_get_container(files);
-      gchar *profile_file_path = g_file_get_path(profile_file);
       const gchar *profile_file_name = g_file_info_get_name(file_info);
       gchar *profile_file_full_path = g_build_filename(profile_file_path,
           profile_file_name, NULL);
@@ -483,11 +487,11 @@ gnac_profiles_mgr_import_default_profiles(void)
         g_clear_error(&error);
       }
 
-      g_free(profile_file_path);
       g_free(profile_file_full_path);
       gnac_profiles_properties_free_audio_profile(profile);
     }
 
+    g_free(profile_file_path);
     g_object_unref(file_info);
   }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]