diff mbox series

[meta-oe] cdrkit: fix incompatible pointer type error

Message ID 20240607160757.2726296-1-kai.kang@windriver.com
State Accepted
Headers show
Series [meta-oe] cdrkit: fix incompatible pointer type error | expand

Commit Message

Kai June 7, 2024, 4:07 p.m. UTC
From: Kai Kang <kai.kang@windriver.com>

Fix incompatible pointer type error when gcc option
'-Wincompatible-pointer-types' set:

cdrkit-1.1.11/genisoimage/eltorito.c:399:41: error: passing argument 1 of 'set_721' from incompatible pointer type [-Wincompatible-pointer-types]
  399 |                                 set_721(&last_section_header->entry_count, nentries);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         char (*)[2]
In file included from cdrkit/1.1.11/cdrkit-1.1.11/genisoimage/eltorito.c:39:
cdrkit-1.1.11/genisoimage/genisoimage.h:507:21: note: expected 'char *' but argument is of type 'char (*)[2]'
  507 | extern void set_721(char *, unsigned int);
      |                     ^~~~~~

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 .../cdrkit/cdrkit_1.1.11.bb                   |  1 +
 .../fix-incompatible-pointer-type-error.patch | 44 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 meta-oe/recipes-multimedia/cdrkit/files/fix-incompatible-pointer-type-error.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index 9fd91114d..bbce3e3bf 100644
--- a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -13,6 +13,7 @@  SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
            file://0001-genisoimage-Add-missing-extern-definition.patch \
            file://0001-add-new-option-eltorito-platform.patch \
            file://0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch \
+           file://fix-incompatible-pointer-type-error.patch \
            "
 SRC_URI:append:class-nativesdk = " \
            file://0001-install-netscsid-to-bin-for-nativesdk.patch \
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/fix-incompatible-pointer-type-error.patch b/meta-oe/recipes-multimedia/cdrkit/files/fix-incompatible-pointer-type-error.patch
new file mode 100644
index 000000000..887a54f7f
--- /dev/null
+++ b/meta-oe/recipes-multimedia/cdrkit/files/fix-incompatible-pointer-type-error.patch
@@ -0,0 +1,44 @@ 
+Fix incompatible pointer type error when gcc option '-Wincompatible-pointer-types' set:
+
+cdrkit-1.1.11/genisoimage/eltorito.c:399:41: error: passing argument 1 of 'set_721' from incompatible pointer type [-Wincompatible-pointer-types]
+  399 |                                 set_721(&last_section_header->entry_count, nentries);
+      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      |                                         |
+      |                                         char (*)[2]
+In file included from cdrkit/1.1.11/cdrkit-1.1.11/genisoimage/eltorito.c:39:
+cdrkit-1.1.11/genisoimage/genisoimage.h:507:21: note: expected 'char *' but argument is of type 'char (*)[2]'
+  507 | extern void set_721(char *, unsigned int);
+      |                     ^~~~~~
+
+Upstream-Status: Inactive-Upstream [lastrelease: 2010]
+
+[1]: https://en.wikipedia.org/wiki/Cdrkit
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ genisoimage/eltorito.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
+index a804988..e48d58c 100644
+--- a/genisoimage/eltorito.c
++++ b/genisoimage/eltorito.c
+@@ -396,7 +396,7 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 			    (arch != newarch) ||
+ 			    (current_boot_entry->type & ELTORITO_SECTION_HEADER)) {
+ 			if (last_section_header)
+-				set_721(&last_section_header->entry_count, nentries);
++				set_721((char *)(&last_section_header->entry_count), nentries);
+ 			nentries = 1;
+ 			last_section_header = (struct eltorito_sectionheader_entry *)
+ 							(de2->table + offset);
+@@ -419,7 +419,7 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 	}
+ 
+ 	if (last_section_header) {
+-		set_721(&last_section_header->entry_count, nentries);
++		set_721((char *)(&last_section_header->entry_count), nentries);
+ 		last_section_header->header_id[0] = EL_TORITO_SHDR_ID_LAST_SHDR;
+ 	}
+