From 26f35ff265343298403e40f6c7f766f8b79b0208 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Mon, 29 Nov 2021 13:44:21 +0900 Subject: [PATCH] ctl/timer/seq: optimization for GLib v2.68 The usage of g_memdup() is deprecated since glib 2.68 because it has narrow integer conversion from gsize to guint. This commit replaces the usage with macro for g_memdup2(). Signed-off-by: Takashi Sakamoto --- src/ctl/elem-id.c | 10 +++++++++- src/seq/addr.c | 10 +++++++++- src/seq/event-data-connect.c | 10 +++++++++- src/seq/event-data-ctl.c | 10 +++++++++- src/seq/event-data-note.c | 10 +++++++++- src/seq/event-data-queue.c | 10 +++++++++- src/seq/event-data-result.c | 10 +++++++++- src/seq/queue-timer-data-alsa.c | 10 +++++++++- src/seq/remove-filter.c | 10 +++++++++- src/seq/tstamp.c | 10 +++++++++- src/timer/device-id.c | 10 +++++++++- src/timer/event-data-tick.c | 10 +++++++++- src/timer/event-data-tstamp.c | 10 +++++++++- src/timer/event.c | 10 +++++++++- 14 files changed, 126 insertions(+), 14 deletions(-) diff --git a/src/ctl/elem-id.c b/src/ctl/elem-id.c index fa3a810..9c77dac 100644 --- a/src/ctl/elem-id.c +++ b/src/ctl/elem-id.c @@ -15,7 +15,15 @@ */ ALSACtlElemId *ctl_elem_id_copy(const ALSACtlElemId *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSACtlElemId, alsactl_elem_id, ctl_elem_id_copy, g_free); diff --git a/src/seq/addr.c b/src/seq/addr.c index a4d7d06..f169b55 100644 --- a/src/seq/addr.c +++ b/src/seq/addr.c @@ -13,7 +13,15 @@ */ ALSASeqAddr *seq_addr_copy(const ALSASeqAddr *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqAddr, alsaseq_addr, seq_addr_copy, g_free) diff --git a/src/seq/event-data-connect.c b/src/seq/event-data-connect.c index 397c52f..5901c18 100644 --- a/src/seq/event-data-connect.c +++ b/src/seq/event-data-connect.c @@ -13,7 +13,15 @@ */ ALSASeqEventDataConnect *seq_event_data_connect_copy(const ALSASeqEventDataConnect *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqEventDataConnect, alsaseq_event_data_connect, seq_event_data_connect_copy, g_free) diff --git a/src/seq/event-data-ctl.c b/src/seq/event-data-ctl.c index 074ce84..63ea2c6 100644 --- a/src/seq/event-data-ctl.c +++ b/src/seq/event-data-ctl.c @@ -13,7 +13,15 @@ */ ALSASeqEventDataCtl *seq_event_data_ctl_copy(const ALSASeqEventDataCtl *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqEventDataCtl, alsaseq_event_data_ctl, seq_event_data_ctl_copy, g_free) diff --git a/src/seq/event-data-note.c b/src/seq/event-data-note.c index cfd5e4a..da906e0 100644 --- a/src/seq/event-data-note.c +++ b/src/seq/event-data-note.c @@ -13,7 +13,15 @@ */ ALSASeqEventDataNote *seq_event_data_note_copy(const ALSASeqEventDataNote *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqEventDataNote, alsaseq_event_data_note, seq_event_data_note_copy, g_free) diff --git a/src/seq/event-data-queue.c b/src/seq/event-data-queue.c index 0cbd794..b115d17 100644 --- a/src/seq/event-data-queue.c +++ b/src/seq/event-data-queue.c @@ -14,7 +14,15 @@ */ ALSASeqEventDataQueue *seq_event_data_queue_copy(const ALSASeqEventDataQueue *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqEventDataQueue, alsaseq_event_data_queue, seq_event_data_queue_copy, g_free) diff --git a/src/seq/event-data-result.c b/src/seq/event-data-result.c index 1390b2f..0339da9 100644 --- a/src/seq/event-data-result.c +++ b/src/seq/event-data-result.c @@ -13,7 +13,15 @@ */ ALSASeqEventDataResult *seq_event_data_result_copy(const ALSASeqEventDataResult *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqEventDataResult, alsaseq_event_data_result, seq_event_data_result_copy, g_free) diff --git a/src/seq/queue-timer-data-alsa.c b/src/seq/queue-timer-data-alsa.c index 2c48de0..54f0326 100644 --- a/src/seq/queue-timer-data-alsa.c +++ b/src/seq/queue-timer-data-alsa.c @@ -13,7 +13,15 @@ */ ALSASeqQueueTimerDataAlsa *seq_queue_timer_data_alsa_copy(const ALSASeqQueueTimerDataAlsa *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqQueueTimerDataAlsa, alsaseq_queue_timer_data_alsa, seq_queue_timer_data_alsa_copy, g_free) diff --git a/src/seq/remove-filter.c b/src/seq/remove-filter.c index 9172639..e0576de 100644 --- a/src/seq/remove-filter.c +++ b/src/seq/remove-filter.c @@ -20,7 +20,15 @@ */ ALSASeqRemoveFilter *seq_remove_filter_copy(const ALSASeqRemoveFilter *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqRemoveFilter, alsaseq_remove_filter, seq_remove_filter_copy, g_free) diff --git a/src/seq/tstamp.c b/src/seq/tstamp.c index 2191905..8ab632a 100644 --- a/src/seq/tstamp.c +++ b/src/seq/tstamp.c @@ -13,7 +13,15 @@ */ ALSASeqTstamp *seq_tstamp_copy(const ALSASeqTstamp *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSASeqTstamp, alsaseq_tstamp, seq_tstamp_copy, g_free) diff --git a/src/timer/device-id.c b/src/timer/device-id.c index 1f0dc43..069379a 100644 --- a/src/timer/device-id.c +++ b/src/timer/device-id.c @@ -16,7 +16,15 @@ */ ALSATimerDeviceId *timer_device_id_copy(const ALSATimerDeviceId *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSATimerDeviceId, alsatimer_device_id, timer_device_id_copy, g_free) diff --git a/src/timer/event-data-tick.c b/src/timer/event-data-tick.c index 8d6ceab..4bff582 100644 --- a/src/timer/event-data-tick.c +++ b/src/timer/event-data-tick.c @@ -15,7 +15,15 @@ */ ALSATimerEventDataTick *timer_event_data_tick_copy(const ALSATimerEventDataTick *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSATimerEventDataTick, alsatimer_event_data_tick, timer_event_data_tick_copy, g_free) diff --git a/src/timer/event-data-tstamp.c b/src/timer/event-data-tstamp.c index 85417d4..1eada5d 100644 --- a/src/timer/event-data-tstamp.c +++ b/src/timer/event-data-tstamp.c @@ -15,7 +15,15 @@ */ ALSATimerEventDataTstamp *timer_event_data_tstamp_copy(const ALSATimerEventDataTstamp *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSATimerEventDataTstamp, alsatimer_event_data_tstamp, timer_event_data_tstamp_copy, g_free) diff --git a/src/timer/event.c b/src/timer/event.c index 1a8c169..f77ec9c 100644 --- a/src/timer/event.c +++ b/src/timer/event.c @@ -14,7 +14,15 @@ */ ALSATimerEvent *timer_event_copy(const ALSATimerEvent *self) { - return g_memdup(self, sizeof(*self)); +#ifdef g_memdup2 + return g_memdup2(self, sizeof(*self)); +#else + // GLib v2.68 deprecated g_memdup() with concern about overflow by narrow conversion from size_t to + // unsigned int however it's safe in the local case. + gpointer ptr = g_malloc(sizeof(*self)); + memcpy(ptr, self, sizeof(*self)); + return ptr; +#endif } G_DEFINE_BOXED_TYPE(ALSATimerEvent, alsatimer_event, timer_event_copy, g_free) -- 2.47.3