shithub: opus

Download patch

ref: 4784e0717e48cd10040b29805152e84d125158c4
parent: 2c7eb787f0ff0632ff81254066b53572860f02f9
author: Ralph Giles <[email protected]>
date: Tue Jan 14 06:07:37 EST 2014

Fix malloc_hook warning on glibc 2.17 and later.

In glib 2.17 the __malloc_ptr define was removed in favour
of using void* directly. Our declaration of mhook using this
type for the second argument therefore rightly generates a warning
on modern systems, since the type is assumed to be an int, which
is too narrow to hold a pointer on 64 bit architectures.

Since it was only ever a define we could use an #ifndef to define
__malloc_ptr ourselves. However we only use it once, so using void*
in the signature directly is cleaner. This should cause no problems
on older systems where it will match either the void* or the char*
(for non __STDC__ code) the define resolved to.

--- a/tests/test_opus_api.c
+++ b/tests/test_opus_api.c
@@ -1753,7 +1753,7 @@
 #endif
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 
-typedef void *(*mhook)(size_t __size, __const __malloc_ptr_t);
+typedef void *(*mhook)(size_t __size, __const void *);
 #endif
 
 int test_malloc_fail(void)