Fix the build of scandir_b with GCC.

Use explicit typedefs for block thunk structures as in r264143.

Reviewed by:	kib, adrian
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D26256
This commit is contained in:
John Baldwin 2020-08-31 21:55:25 +00:00
parent 8df7e154a2
commit d10af81d2d

View File

@ -56,15 +56,18 @@ void qsort_b(void *, size_t, size_t, void *);
#define SELECT(x) select(x)
#endif
#ifndef I_AM_SCANDIR_B
#ifdef I_AM_SCANDIR_B
typedef DECLARE_BLOCK(int, select_block, const struct dirent *);
typedef DECLARE_BLOCK(int, dcomp_block, const struct dirent **,
const struct dirent **);
#else
static int alphasort_thunk(void *thunk, const void *p1, const void *p2);
#endif
int
#ifdef I_AM_SCANDIR_B
scandir_b(const char *dirname, struct dirent ***namelist,
DECLARE_BLOCK(int, select, const struct dirent *),
DECLARE_BLOCK(int, dcomp, const struct dirent **, const struct dirent **))
scandir_b(const char *dirname, struct dirent ***namelist, select_block select,
dcomp_block dcomp)
#else
scandir(const char *dirname, struct dirent ***namelist,
int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **,