diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2024-10-02 12:38:03 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2024-10-02 13:32:18 +0000 |
commit | c81f658808ee608f60198584a870087946cefc98 (patch) | |
tree | b791968e7d6377d86b06efbea56b2ebdb96d1e9b /sysutils/cvsweb-converters/(developers-only) | |
parent | 04d3e3335860e252c44683decf881d6477ffda89 (diff) | |
download | ports-main.tar.gz ports-main.zip |
After a recent devel/readline update, net/samba419 fails to compile with
clang 19, resulting in errors similar to:
../../libcli/smbreadline/smbreadline.c:139:38: warning: 'CPPFunction' is deprecated [-Wdeprecated-declarations]
139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
| ^
../../lib/replace/system/readline.h:50:31: note: expanded from macro 'RL_COMPLETION_CAST'
50 | # define RL_COMPLETION_CAST (CPPFunction *)
| ^
/usr/local/include/readline/rltypedefs.h:38:50: note: 'CPPFunction' has been explicitly marked deprecated here
38 | typedef char **CPPFunction (void) __attribute__((deprecated));
| ^
../../libcli/smbreadline/smbreadline.c:139:36: error: incompatible function pointer types assigning to 'rl_completion_func_t *' (aka 'char **(*)(const char *, int, int)') from 'CPPFunction *' (aka 'char **(*)(void)') [-Wincompatible-function-pointer-types]
139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are two reasons: samba checks for `rl_completion_t`, while the
actual readline type is `rl_completion_func_t`, and samba's wrapper
`readline.h` header prefers the `CPPFunction` type which is deprecated,
while it should use `rl_completion_func_t` instead.
Fix the `wscript_configure` check to detect `rl_completion_func_t`, and
reverse the `HAVE_RL_COMPLETION_T` and `HAVE_CPPFUNCTION` checks in the
wrapper header.
PR: 281818
Reviewed by: 0mp
Approved by: samba (0mp)
MFH: 2024Q3
Diffstat (limited to 'sysutils/cvsweb-converters/(developers-only)')
0 files changed, 0 insertions, 0 deletions