[vlc-devel] [PATCH 1/3] vlc_fixup: remap win64 lfind as it expects a unsigned* where we get a size_t*
Steve Lhomme
robux4 at ycbcr.xyz
Tue Jul 16 09:26:43 CEST 2019
So now we include search.h for every file we compile.
Co-authored-by: RĂ©mi Denis-Courmont <remi at remlab.net>
---
include/vlc_fixups.h | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
index 2164f690b1..6822feeaeb 100644
--- a/include/vlc_fixups.h
+++ b/include/vlc_fixups.h
@@ -489,10 +489,18 @@ void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void
void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) );
void *lfind( const void *key, const void *base, size_t *nmemb,
size_t size, int(*cmp)(const void *, const void *) );
-#endif /* HAVE_SEARCH_H */
+#else /* !HAVE_SEARCH_H */
+#include <search.h>
+#endif /* !HAVE_SEARCH_H */
#ifndef HAVE_TDESTROY
void tdestroy( void *root, void (*free_node)(void *nodep) );
#endif
+#ifdef _WIN64
+/* the Win32 prorotype of lfind() expects an unsigned* for 'nelp' */
+# define lfind(a,b,c,d,e) \
+ lfind(a,b, &(unsigned){ (*(c) > UINT_MAX) ? UINT_MAX : *(c) }, d,e)
+#endif /* _WIN64 */
+
/* Random numbers */
#ifndef HAVE_NRAND48
--
2.17.1
More information about the vlc-devel
mailing list