Implement the same PLT reduction technique used in GTK+:
[platform/upstream/glib.git] / gobject / gvaluetypes.c
index e003190..3b73876 100644 (file)
@@ -21,6 +21,7 @@
  * MT safe
  */
 
+#include       "gobjectalias.h"
 #include       "gvaluetypes.h"
 
 #include       "gvaluecollector.h"
@@ -357,7 +358,7 @@ value_lcopy_pointer (const GValue *value,
 
 /* --- type initialization --- */
 void
-g_value_types_init (void)  /* sync with gtype.c */
+g_value_types_init (void)
 {
   GTypeInfo info = {
     0,                         /* class_size */
@@ -763,6 +764,13 @@ void
 g_value_set_string_take_ownership (GValue *value,
                                   gchar  *v_string)
 {
+  g_value_take_string (value, v_string);
+}
+
+void
+g_value_take_string (GValue *value,
+                    gchar  *v_string)
+{
   g_return_if_fail (G_VALUE_HOLDS_STRING (value));
   
   if (value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS)