Control: tags 1075650 + pending

Dear maintainer,

I've prepared an NMU for xawtv (versioned as 3.107-2.1) and
uploaded it to DELAYED/10. Please feel free to tell me if I
should delay it longer.

Regards.

J.
diff -Nru xawtv-3.107/debian/changelog xawtv-3.107/debian/changelog
--- xawtv-3.107/debian/changelog	2024-01-08 11:53:35.000000000 +0000
+++ xawtv-3.107/debian/changelog	2024-08-15 13:06:03.000000000 +0100
@@ -1,3 +1,11 @@
+xawtv (3.107-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * d/patches: add patch to fix gcc 14 FTBFS caused by incompatible pointer
+    types (Closes: #1075650)
+
+ -- Jeremy Sowden <aza...@debian.org>  Thu, 15 Aug 2024 13:06:03 +0100
+
 xawtv (3.107-2) unstable; urgency=medium
 
   * Team 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	1970-01-01 01:00:00.000000000 +0100
+++ xawtv-3.107/debian/patches/incompatible-pointer-fix.patch	2024-08-15 13:06:03.000000000 +0100
@@ -0,0 +1,62 @@
+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-01-08 11:51:34.000000000 +0000
+++ xawtv-3.107/debian/patches/series	2024-08-15 13:06:03.000000000 +0100
@@ -8,3 +8,4 @@
 0008-Makefile.in-honour-CPPFLAGS.patch
 CVE-2020-13696-error_message_fix.patch
 0001-Replace-sys_siglist-with-strsignal.patch
+incompatible-pointer-fix.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to