Hi, On Mon, Dec 2, 2024 at 4:22 AM Jeremy Sowden <aza...@debian.org> wrote: > > On 2024-12-01, at 22:36:07 +0800, Bo YU wrote: > > Control: tags -1 patch > > ... > > I was going to update the patch to reflect the new `XawListChange` > prototype, but as you have observed with the new prototype the upstream > code compiles again. It is, however, still fragile since it mixes > `char` pointers and `String` pointers, so I will send a new patch > upstream. > > There's some fuzz in other patches, which I have fixed. Patch attached. >
Thanks for your work on this. I have pushed your patch to repo: https://salsa.debian.org/multimedia-team/xawtv/-/commit/fe0343337aa0309c4b1f432e8395f22eae4a6cd9 BR, Bo > J. > > > [0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088044 > > [1]: > > https://salsa.debian.org/xorg-team/lib/libxaw/-/commit/d0fcbd9722ad691ca0b5873c98e8e9c236fa718b > > -- > > Regards, > > -- > > Bo YU > > > > > diff -Nru xawtv-3.107/debian/changelog xawtv-3.107/debian/changelog > > --- xawtv-3.107/debian/changelog 2024-08-15 20:06:03.000000000 +0800 > > +++ xawtv-3.107/debian/changelog 2024-12-01 22:11:00.000000000 +0800 > > @@ -1,3 +1,10 @@ > > +xawtv (3.107-3) UNRELEASED; urgency=medium > > + > > + * Team upload. > > + * Drop incompatible-pointer-fix.patch to fix ftbfs. (Closes: #1088044) > > + > > + -- Bo YU <tsu.y...@gmail.com> Sun, 01 Dec 2024 22:11:00 +0800 > > + > > xawtv (3.107-2.1) unstable; urgency=medium > > > > * Non-maintainer upload. > > diff -Nru xawtv-3.107/debian/patches/incompatible-pointer-fix.patch > > xawtv-3.107/debian/patches/incompatible-pointer-fix.patch > > --- xawtv-3.107/debian/patches/incompatible-pointer-fix.patch 2024-08-15 > > 20:06:03.000000000 +0800 > > +++ xawtv-3.107/debian/patches/incompatible-pointer-fix.patch 1970-01-01 > > 07:30:00.000000000 +0730 > > @@ -1,62 +0,0 @@ > > -Author: Jeremy Sowden <aza...@debian.org> > > -Last-Update: 2024-08-15 > > -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075650 > > -Forwarded: > > https://lore.kernel.org/linux-media/20240815115415.3371544-2-jer...@azazel.net/ > > -Description: fix gcc-14 FTBFS caused by incompatible pointer types > > - `XawListChange` declares the type of its second parameter as `_Xconst > > - char **`. However, xawtv passes `str_list`, which is declared as > > - `String *`, or `&empty` which is declared as `char *`. With gcc 14, > > - these result in incompatible-pointer errors: > > - . > > - x11/propwatch.c: In function 'RebuildList': > > - x11/propwatch.c:319:43: error: passing argument 2 of 'XawListChange' from > > incompatible pointer type [-Wincompatible-pointer-types] > > - 319 | XawListChange(bl,str_count ? str_list : &empty, > > - | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ > > - | | > > - | char ** > > - In file included from x11/propwatch.c:28: > > - /usr/include/X11/Xaw/List.h:170:27: note: expected 'const char **' but > > argument is of type 'char **' > > - 170 | _Xconst char **list, > > - | ^ > > - x11/propwatch.c: In function 'ProcessPropertyChange': > > - x11/propwatch.c:498:34: error: passing argument 2 of 'XawListChange' from > > incompatible pointer type [-Wincompatible-pointer-types] > > - 498 | XawListChange(bl,str_list,str_count,1000,1); > > - | ^~~~~~~~ > > - | | > > - | char ** > > - /usr/include/X11/Xaw/List.h:170:27: note: expected 'const char **' but > > argument is of type 'char **' > > - 170 | _Xconst char **list, > > - | ^ > > - . > > - Both variables are only used as arguments to `XawListChange`, so change > > - their types to match its expectations. > > - > > ---- a/x11/propwatch.c > > -+++ b/x11/propwatch.c > > -@@ -58,8 +58,8 @@ > > - "WM_COMMAND", > > - }; > > - > > --static String *str_list; > > --static int str_count; > > -+static const char **str_list; > > -+static int str_count; > > - > > - static void AddWatch(Display *dpy, Window win, int i); > > - static void DeleteWatch(Window win); > > -@@ -306,13 +306,13 @@ > > - static void > > - RebuildList(void) > > - { > > -- static char *empty = "empty"; > > -+ static const char *empty = "empty"; > > - int i; > > - struct WATCHLIST *this; > > - > > - if (str_list) > > - free(str_list); > > -- str_list = malloc(str_count*sizeof(String)); > > -+ str_list = malloc(str_count*sizeof(*str_list)); > > - for (i=0, this=watchlist; this!=NULL; i++, this=this->next) > > - str_list[i] = this->text; > > - qsort(str_list,str_count,sizeof(char*),cmp); > > diff -Nru xawtv-3.107/debian/patches/series > > xawtv-3.107/debian/patches/series > > --- xawtv-3.107/debian/patches/series 2024-08-15 20:06:03.000000000 +0800 > > +++ xawtv-3.107/debian/patches/series 2024-12-01 22:11:00.000000000 +0800 > > @@ -8,4 +8,3 @@ > > 0008-Makefile.in-honour-CPPFLAGS.patch > > CVE-2020-13696-error_message_fix.patch > > 0001-Replace-sys_siglist-with-strsignal.patch > > -incompatible-pointer-fix.patch > > >