[glib] resources: Consolidate creation of GResource into one place
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] resources: Consolidate creation of GResource into one place
- Date: Sun, 5 Feb 2012 18:58:24 +0000 (UTC)
commit 30e0a1beacb8ffa2e58581e723023a3475d6ad62
Author: Christian Persch <chpe gnome org>
Date: Sun Feb 5 19:55:45 2012 +0100
resources: Consolidate creation of GResource into one place
gio/gresource.c | 32 ++++++++++++++++++++------------
1 files changed, 20 insertions(+), 12 deletions(-)
---
diff --git a/gio/gresource.c b/gio/gresource.c
index 338a2d2..0e30ca7 100644
--- a/gio/gresource.c
+++ b/gio/gresource.c
@@ -183,6 +183,24 @@ g_resource_unref (GResource *resource)
}
}
+/*
+ * g_resource_new_from_table:
+ * @table: (transfer full): a GvdbTable
+ *
+ * Returns: (transfer full): a new #GResource for @table
+ */
+static GResource *
+g_resource_new_from_table (GvdbTable *table)
+{
+ GResource *resource;
+
+ resource = g_new (GResource, 1);
+ resource->ref_count = 1;
+ resource->table = table;
+
+ return resource;
+}
+
/**
* g_resource_new_from_data:
* @data: A #GBytes.
@@ -203,7 +221,6 @@ GResource *
g_resource_new_from_data (GBytes *data,
GError **error)
{
- GResource *resource;
GvdbTable *table;
table = gvdb_table_new_from_data (g_bytes_get_data (data, NULL),
@@ -217,11 +234,7 @@ g_resource_new_from_data (GBytes *data,
if (table == NULL)
return NULL;
- resource = g_new0 (GResource, 1);
- resource->ref_count = 1;
- resource->table = table;
-
- return resource;
+ return g_resource_new_from_table (table);
}
/**
@@ -243,18 +256,13 @@ GResource *
g_resource_load (const gchar *filename,
GError **error)
{
- GResource *resource;
GvdbTable *table;
table = gvdb_table_new (filename, FALSE, error);
if (table == NULL)
return NULL;
- resource = g_new0 (GResource, 1);
- resource->ref_count = 1;
- resource->table = table;
-
- return resource;
+ return g_resource_new_from_table (table);
}
static gboolean do_lookup (GResource *resource,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]