Merge stats_create into __connman_stats_service_register
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Wed, 13 Oct 2010 07:26:46 +0000 (09:26 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 13 Oct 2010 10:05:15 +0000 (12:05 +0200)
This avoid doing an hash table lookup from
__connman_stats_service_register() right after inserting the stats_file
pointer into it.

src/stats.c

index 7d05b89..a4fcc9e 100644 (file)
@@ -201,19 +201,6 @@ static void stats_free(gpointer user_data)
        g_free(file);
 }
 
-static int stats_create(struct connman_service *service)
-{
-       struct stats_file *file;
-
-       file = g_try_new0(struct stats_file, 1);
-       if (file == NULL)
-               return -ENOMEM;
-
-       g_hash_table_insert(stats_hash, service, file);
-
-       return 0;
-}
-
 static void update_first(struct stats_file *file)
 {
        file->first = (struct stats_record *)
@@ -362,12 +349,11 @@ int __connman_stats_service_register(struct connman_service *service)
 
        file = g_hash_table_lookup(stats_hash, service);
        if (file == NULL) {
-               err = stats_create(service);
-
-               if (err < 0)
-                       return err;
+               file = g_try_new0(struct stats_file, 1);
+               if (file == NULL)
+                       return -ENOMEM;
 
-               file = g_hash_table_lookup(stats_hash, service);
+               g_hash_table_insert(stats_hash, service, file);
        } else {
                return -EALREADY;
        }