[glib] gquark: simplify g_intern_string/g_intern_static_string
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gquark: simplify g_intern_string/g_intern_static_string
- Date: Fri, 16 Feb 2018 12:52:39 +0000 (UTC)
commit d933cf99bfa7009ea8961905c1e1be8d9d754130
Author: Natanael Copa <ncopa alpinelinux org>
Date: Wed Jul 6 17:05:16 2016 +0200
gquark: simplify g_intern_string/g_intern_static_string
Move the common code to a quark_intern_string_locked function. This has
no effect on the generated code but makes codebase a bit cleaner.
https://bugzilla.gnome.org/show_bug.cgi?id=768507
glib/gquark.c | 44 ++++++++++++++++++++------------------------
1 file changed, 20 insertions(+), 24 deletions(-)
---
diff --git a/glib/gquark.c b/glib/gquark.c
index 295430401..c4d12b870 100644
--- a/glib/gquark.c
+++ b/glib/gquark.c
@@ -299,6 +299,24 @@ quark_new (gchar *string)
return quark;
}
+static inline const gchar *
+quark_intern_string_locked (const gchar *string,
+ gboolean duplicate)
+{
+ const gchar *result;
+ GQuark quark;
+
+ if (!string)
+ return NULL;
+
+ G_LOCK (quark_global);
+ quark = quark_from_string (string, duplicate);
+ result = quarks[quark];
+ G_UNLOCK (quark_global);
+
+ return result;
+}
+
/**
* g_intern_string:
* @string: (nullable): a string
@@ -314,18 +332,7 @@ quark_new (gchar *string)
const gchar *
g_intern_string (const gchar *string)
{
- const gchar *result;
- GQuark quark;
-
- if (!string)
- return NULL;
-
- G_LOCK (quark_global);
- quark = quark_from_string (string, TRUE);
- result = quarks[quark];
- G_UNLOCK (quark_global);
-
- return result;
+ return quark_intern_string_locked (string, TRUE);
}
/**
@@ -344,16 +351,5 @@ g_intern_string (const gchar *string)
const gchar *
g_intern_static_string (const gchar *string)
{
- GQuark quark;
- const gchar *result;
-
- if (!string)
- return NULL;
-
- G_LOCK (quark_global);
- quark = quark_from_string (string, FALSE);
- result = quarks[quark];
- G_UNLOCK (quark_global);
-
- return result;
+ return quark_intern_string_locked (string, FALSE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]