diff -Nru ytree-1.99pl1/debian/changelog ytree-1.99pl1/debian/changelog --- ytree-1.99pl1/debian/changelog 2023-09-05 04:19:36.000000000 +0530 +++ ytree-1.99pl1/debian/changelog 2026-05-23 22:09:29.000000000 +0530 @@ -1,3 +1,15 @@ +ytree (1.99pl1-2.3) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS with GCC 15 / C23 (Closes: #1098192): in C23 mode, empty + parameter lists () no longer match any-argument signatures, causing + errors when function-pointer parameters fkt and compare were + declared without types. Spell out the correct types for the walk + callbacks (FileEntry *, WalkingPackage *) and the qsort comparator + (FileEntryList *, FileEntryList *). + + -- Azeez Syed Sat, 23 May 2026 22:09:29 +0530 + ytree (1.99pl1-2.2) unstable; urgency=medium * Non-maintainer upload. diff -Nru ytree-1.99pl1/debian/patches/0002-fix-ftbfs-gcc15.patch ytree-1.99pl1/debian/patches/0002-fix-ftbfs-gcc15.patch --- ytree-1.99pl1/debian/patches/0002-fix-ftbfs-gcc15.patch 1970-01-01 05:30:00.000000000 +0530 +++ ytree-1.99pl1/debian/patches/0002-fix-ftbfs-gcc15.patch 2026-05-23 22:09:29.000000000 +0530 @@ -0,0 +1,135 @@ +Description: Fix FTBFS with GCC 15 / C23: spell out function-pointer types + In C23 (GCC 15 default), empty parameter lists `()` on function-pointer + declarations mean "no parameters" instead of "unspecified parameters". + . + filewin.c used `int (*fkt)()` for three walk-callback parameters (assigned + and called with `FileEntry *, WalkingPackage *` arguments) and `int (*compare)()` + for the qsort comparator (assigned SortByName/SortByModTime/etc. which have + `FileEntryList *, FileEntryList *` parameters). Spell out the correct types + and add the required cast at the qsort call site. + . + tilde.c had `extern char *strcpy()` guarded by `#ifndef strcpy` — the + same empty-parameter-list pattern. Uncomment the already-present + `#include ` (line 28) and remove the stale local declaration. +Author: Azeez Syed +Bug-Debian: https://bugs.debian.org/1098192 +Forwarded: not-needed +Last-Update: 2026-05-23 +--- + filewin.c | 26 +++++++++++++------------- + tilde.c | 5 +---- + 2 files changed, 14 insertions(+), 17 deletions(-) + +--- a/filewin.c ++++ b/filewin.c +@@ -53,15 +53,15 @@ static int SortByGroup(FileEntryList *e + static int SortByExtension(FileEntryList *e1, FileEntryList *e2); + static void DisplayFiles(DirEntry *de_ptr, int start_file_no, int hilight_no, int start_x); + static void ReadGlobalFileList(DirEntry *dir_entry); +-static void WalkTaggedFiles(int start_file, int cursor_pos, int (*fkt) (/* ??? */), WalkingPackage *walking_package); ++static void WalkTaggedFiles(int start_file, int cursor_pos, int (*fkt)(FileEntry *, WalkingPackage *), WalkingPackage *walking_package); + static BOOL IsMatchingTaggedFiles(void); + static void RemoveFileEntry(int entry_no); + static void ChangeFileEntry(void); + static int DeleteTaggedFiles(int max_dispfiles); +-static void SilentWalkTaggedFiles( int (*fkt) (/* ??? */), ++static void SilentWalkTaggedFiles( int (*fkt)(FileEntry *, WalkingPackage *), + WalkingPackage *walking_package + ); +-static void SilentTagWalkTaggedFiles( int (*fkt) (/* ??? */), ++static void SilentTagWalkTaggedFiles( int (*fkt)(FileEntry *, WalkingPackage *), + WalkingPackage *walking_package + ); + static void RereadWindowSize(DirEntry *dir_entry); +@@ -289,7 +289,7 @@ static void ReadGlobalFileList(DirEntry + static void SortFileEntryList(void) + { + int aux; +- int (*compare)(); ++ int (*compare)(FileEntryList *, FileEntryList *); + + reverse_sort = FALSE; + if ((aux = statistic.kind_of_sort) > SORT_DSC) +@@ -315,10 +315,10 @@ static void SortFileEntryList(void) + default: compare = SortByName; beep(); + } + +- qsort( (char *) file_entry_list, ++ qsort( (char *) file_entry_list, + file_count, + sizeof( file_entry_list[0] ), +- compare ++ (int (*)(const void *, const void *))compare + ); + } + +@@ -2759,9 +2759,9 @@ int HandleFileWindow(DirEntry *dir_entry + + + +-static void WalkTaggedFiles(int start_file, +- int cursor_pos, +- int (*fkt) (/* ??? */), ++static void WalkTaggedFiles(int start_file, ++ int cursor_pos, ++ int (*fkt)(FileEntry *, WalkingPackage *), + WalkingPackage *walking_package + ) + { +@@ -2851,7 +2851,7 @@ static void WalkTaggedFiles(int start_fi + --crb3 12mar04 + */ + +-static void SilentWalkTaggedFiles( int (*fkt) (/* ??? */), ++static void SilentWalkTaggedFiles( int (*fkt)(FileEntry *, WalkingPackage *), + WalkingPackage *walking_package + ) + { +@@ -2859,7 +2859,7 @@ static void SilentWalkTaggedFiles( int ( + int i; + int result = 0; + +- ++ + for( i=0; i < (int)file_count; i++ ) + { + fe_ptr = file_entry_list[i].file; +@@ -2887,7 +2887,7 @@ ExecuteCommand must have its retval unze + + */ + +-static void SilentTagWalkTaggedFiles( int (*fkt) (/* ??? */), ++static void SilentTagWalkTaggedFiles( int (*fkt)(FileEntry *, WalkingPackage *), + WalkingPackage *walking_package + ) + { +@@ -2895,7 +2895,7 @@ static void SilentTagWalkTaggedFiles( in + int i; + int result = 0; + +- ++ + for( i=0; i < (int)file_count; i++ ) + { + fe_ptr = file_entry_list[i].file; +--- a/tilde.c ++++ b/tilde.c +@@ -25,7 +25,7 @@ + #include "ytree.h" + #include "tilde.h" + #include "xmalloc.h" +-/*#include */ ++#include + + /*#if !defined (HAVE_GETPW_DECLS) + extern struct passwd *getpwuid(uid_t); +@@ -33,9 +33,6 @@ extern struct passwd *getpwnam(const cha + #endif */ /* !HAVE_GETPW_DECLS */ + + #if !defined (savestring) +-# ifndef strcpy +-extern char *strcpy (); +-# endif + #define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x)) + #endif /* !savestring */ + diff -Nru ytree-1.99pl1/debian/patches/series ytree-1.99pl1/debian/patches/series --- ytree-1.99pl1/debian/patches/series 2023-02-08 14:27:10.000000000 +0530 +++ ytree-1.99pl1/debian/patches/series 2026-05-23 22:07:32.000000000 +0530 @@ -3,3 +3,4 @@ 03_manpages.diff 04_curses_path 0001-Fix-string-format-error-with-recent-ncurses.patch +0002-fix-ftbfs-gcc15.patch