HomeFreeBSD

mail/panda-cclient: fix build with clang 16

Description

mail/panda-cclient: fix build with clang 16

Clang 16 has a new error about incompatible function types, which shows
up when building mail/panda-cclient:

news.c:370:36: error: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types]
  if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
                                   ^~~~~~~~~~~
/usr/include/dirent.h:127:12: note: passing argument to parameter here
            int (*)(const struct dirent *), int (*)(const struct dirent **,
                  ^
news.c:370:48: error: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types]
  if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
                                               ^~~~~~~~~~~~
/usr/include/dirent.h:127:44: note: passing argument to parameter here
            int (*)(const struct dirent *), int (*)(const struct dirent **,
                                                  ^

This is because the prototypes for the scandir(3) 'select' and 'compar'
callback function parameters do not match the declarations in
<dirent.h>. The same occurs in a few other files under src/osdep/unix.

Fix these by using the correct parameter types for the callback functions.

PR: 271539
Approved by: thierry (maintainer)
MFH: 2023Q2

Details

Provenance
dimAuthored on May 20 2023, 7:25 PM
Parents
R11:f475553f1132: audio/shairport-sync: Update to 4.2
Branches
Unknown
Tags
Unknown