return 0;
}
-int dlsym_many_or_warn(void *dl, int log_level, ...) {
+int dlsym_many_or_warn_sentinel(void *dl, int log_level, ...) {
va_list ap;
int r;
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(void*, dlclose, NULL);
-int dlsym_many_or_warn(void *dl, int log_level, ...) _sentinel_;
+int dlsym_many_or_warn_sentinel(void *dl, int log_level, ...) _sentinel_;
int dlopen_many_sym_or_warn_sentinel(void **dlp, const char *filename, int log_level, ...) _sentinel_;
+#define dlsym_many_or_warn(dl, log_level, ...) \
+ dlsym_many_or_warn_sentinel(dl, log_level, __VA_ARGS__, NULL)
#define dlopen_many_sym_or_warn(dlp, filename, log_level, ...) \
dlopen_many_sym_or_warn_sentinel(dlp, filename, log_level, __VA_ARGS__, NULL)
DLSYM_ARG(idna_to_ascii_4i),
DLSYM_ARG(idna_to_unicode_44i),
DLSYM_ARG(stringprep_ucs4_to_utf8),
- DLSYM_ARG(stringprep_utf8_to_ucs4),
- NULL);
+ DLSYM_ARG(stringprep_utf8_to_ucs4));
if (r < 0)
return r;