Control: tags -1 + patch In C23 (GCC 15 default), empty parameter lists `()` on function-pointer declarations and function declarations now mean "no parameters" instead of "unspecified parameters". ytree had two files with this pattern:
* filewin.c: three walk-callback function pointers — WalkTaggedFiles,
SilentWalkTaggedFiles, and SilentTagWalkTaggedFiles — each took a
parameter of type `int (*fkt)()`. All three are called as
`fkt(fe_ptr, walking_package)` with a `FileEntry *` and a
`WalkingPackage *`; the actual callbacks (ExecFileEntry, DeleteFiles,
etc.) confirm this signature. Changed to
`int (*fkt)(FileEntry *, WalkingPackage *)` in all six locations
(three forward declarations + three definitions).
* filewin.c: the local `compare` variable used as qsort comparator was
declared `int (*compare)()`, then assigned SortByName/SortByModTime/
etc. which have signature `int f(FileEntryList *, FileEntryList *)`.
Changed declaration to `int (*compare)(FileEntryList *, FileEntryList *)`
and added the required `(int (*)(const void *, const void *))` cast
at the qsort call site.
* tilde.c: `extern char *strcpy()` was declared under `#ifndef strcpy`
guard, conflicting with `<string.h>`'s `char *strcpy(char *, const char *)`.
The file already had `#include <string.h>` commented out on the very
next line; uncomment it and remove the stale local declaration.
Thanks
Azeez Syed
ytree_1.99pl1-2.3.debdiff
Description: Binary data

