cc -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations strings/strncasecmp_l.c -o strings/strncasecmp_l -D_POSIX_C_SOURCE=202405L -lm -lpthread -liconv strings/strncasecmp_l.c:5:48: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] 5 | int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; | ^ | int strings/strncasecmp_l.c:5:60: error: use of undeclared identifier 'strncasecmp_l'; did you mean 'strncasecmp'? 5 | int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; | ^~~~~~~~~~~~~ | strncasecmp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_strings.h:79:6: note: 'strncasecmp' declared here 79 | int strncasecmp(const char *, const char *, size_t); | ^ strings/strncasecmp_l.c:5:7: error: incompatible function pointer types initializing 'int (*)(const char *, const char *, size_t, int)' (aka 'int (*)(const char *, const char *, unsigned long, int)') with an expression of type 'int (const char *, const char *, unsigned long)' [-Wincompatible-function-pointer-types] 5 | int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; | ^ ~~~~~~~~~~~~~ 3 errors generated.