- analog_copy->encoding = g_memdup(analog->encoding,
- sizeof(struct sr_analog_encoding));
- analog_copy->meaning = g_memdup(analog->meaning,
- sizeof(struct sr_analog_meaning));
+#if GLIB_CHECK_VERSION(2, 67, 3)
+ encoding_copy = g_memdup2(analog->encoding, sizeof(*analog->encoding));
+ meaning_copy = g_memdup2(analog->meaning, sizeof(*analog->meaning));
+ spec_copy = g_memdup2(analog->spec, sizeof(*analog->spec));
+#else
+ encoding_copy = g_memdup(analog->encoding, sizeof(*analog->encoding));
+ meaning_copy = g_memdup(analog->meaning, sizeof(*analog->meaning));
+ spec_copy = g_memdup(analog->spec, sizeof(*analog->spec));
+#endif
+ analog_copy->encoding = encoding_copy;
+ analog_copy->meaning = meaning_copy;