--- ctags/main/portable-scandir.c 2023-10-20 00:09:27.000000000 +0800 +++ ctags/main/portable-scandir.c 2025-01-25 10:05:41.000000000 +0800 @@ -117,7 +117,10 @@ # ifdef HAVE_DIRENT_H # include # endif -#define USE_SCANDIR_COMPARE_STRUCT_DIRENT + +#ifndef __APPLE__ +# define USE_SCANDIR_COMPARE_STRUCT_DIRENT +#endif #include @@ -134,7 +137,7 @@ int scandir(const char *directory_name, - struct dirent ***array_pointer, int (*select_function) (const struct dirent *), + struct dirent ***array_pointer, int (*select_function) (struct dirent *), #ifdef USE_SCANDIR_COMPARE_STRUCT_DIRENT /* This is what the linux man page says */ int (*compare_function) (const struct dirent **, const struct dirent **) @@ -232,8 +235,13 @@ #if defined (HAVE_DIRENT_H) || defined (_MSC_VER) int scanDirectory (const char *directory_name, - struct dirent ***array_pointer, int (*select_function) (const struct dirent *), - int (*compare_function) (const struct dirent **, const struct dirent **)) + struct dirent ***array_pointer, int (*select_function) (struct dirent *), +#ifdef USE_SCANDIR_COMPARE_STRUCT_DIRENT + int (*compare_function) (const struct dirent **, const struct dirent **) +#else + int (*compare_function) (const void *, const void *) +#endif + ) { return scandir (directory_name, array_pointer, select_function, compare_function); }