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

Attachment: ytree_1.99pl1-2.3.debdiff
Description: Binary data

Reply via email to