summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--girepository/giconstantinfo.c10
-rw-r--r--tests/scanner/foo.c20
2 files changed, 29 insertions, 1 deletions
diff --git a/girepository/giconstantinfo.c b/girepository/giconstantinfo.c
index c18a9d3f..a9d4cbc0 100644
--- a/girepository/giconstantinfo.c
+++ b/girepository/giconstantinfo.c
@@ -128,7 +128,15 @@ g_constant_info_get_value (GIConstantInfo *info,
if (blob->type.flags.reserved == 0 && blob->type.flags.reserved2 == 0)
{
if (blob->type.flags.pointer)
- value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size);
+ {
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ gsize blob_size = blob->size;
+
+ value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size);
+#else
+ value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size);
+#endif
+ }
else
{
switch (blob->type.flags.tag)
diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c
index e409e0a3..cd45362d 100644
--- a/tests/scanner/foo.c
+++ b/tests/scanner/foo.c
@@ -410,7 +410,11 @@ struct _RegressFooBoxed
RegressFooBoxed *
regress_foo_boxed_copy (const RegressFooBoxed *boxed)
{
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ return (RegressFooBoxed *)g_memdup2 (boxed, sizeof (RegressFooBoxed));
+#else
return (RegressFooBoxed *)g_memdup (boxed, sizeof (RegressFooBoxed));
+#endif
}
void
@@ -453,7 +457,11 @@ struct _RegressFooDBusData
RegressFooDBusData *
regress_foo_dbus_data_copy (const RegressFooDBusData *boxed)
{
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ return (RegressFooDBusData *)g_memdup2 (boxed, sizeof (RegressFooDBusData));
+#else
return (RegressFooDBusData *)g_memdup (boxed, sizeof (RegressFooDBusData));
+#endif
}
void
@@ -478,7 +486,11 @@ regress_foo_dbus_data_get_type (void)
static RegressFooBRect *
regress_foo_brect_copy (const RegressFooBRect *boxed)
{
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ return (RegressFooBRect *)g_memdup2 (boxed, sizeof (RegressFooBRect));
+#else
return (RegressFooBRect *)g_memdup (boxed, sizeof (RegressFooBRect));
+#endif
}
GType
@@ -496,7 +508,11 @@ regress_foo_brect_get_type (void)
static RegressFooBUnion *
regress_foo_bunion_copy (const RegressFooBUnion *boxed)
{
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ return (RegressFooBUnion *)g_memdup2 (boxed, sizeof (RegressFooBUnion));
+#else
return (RegressFooBUnion *)g_memdup (boxed, sizeof (RegressFooBUnion));
+#endif
}
GType
@@ -582,7 +598,11 @@ struct _RegressFooHidden
RegressFooHidden *
regress_foo_hidden_copy (const RegressFooHidden *boxed)
{
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ return (RegressFooHidden *)g_memdup2 (boxed, sizeof (RegressFooHidden));
+#else
return (RegressFooHidden *)g_memdup (boxed, sizeof (RegressFooHidden));
+#endif
}
void