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)