[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1088044: xawtv: FTBFS: error: passing argument 2 of ‘XawListChange’ from incompatible pointer type [-Wincompatible-pointer-types]



Control: tags -1 patch

Hi,

On Fri, Nov 22, 2024 at 02:05:53PM +0100, Santiago Vila wrote:
...
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,
     |                      ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
     |                                           |
     |                                           const char **
In file included from x11/propwatch.c:28:
/usr/include/X11/Xaw/List.h:170:26: note: expected ‘char **’ but argument is of type ‘const char **’
 170 |  String                 *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);
     |                                  ^~~~~~~~
     |                                  |
     |                                  const char **

I have looked at this. The patch for [0] was to fix gcc-14 incompatible
pointer issue and it worked at that time. But recently the libxaw
upstream has some changes[1] about this, so this may lead to ftbfs again.
Under such circumstances we can drop the patch to enable the build is
okay.

There are still some clean work that need to be done before team upload,
so I just reply to here about the issue.

[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.yubo@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 <azazel@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-jeremy@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

Attachment: signature.asc
Description: PGP signature


Reply to: