From 78068bdcfcc641b0238c7f697d278dd5d94aff0a Mon Sep 17 00:00:00 2001 From: q66 Date: Fri, 14 Jan 2022 00:49:03 +0100 Subject: [PATCH] imlib2: fix build on big endian --- srcpkgs/imlib2/patches/big-endian.patch | 37 +++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 srcpkgs/imlib2/patches/big-endian.patch diff --git a/srcpkgs/imlib2/patches/big-endian.patch b/srcpkgs/imlib2/patches/big-endian.patch new file mode 100644 index 00000000000..54fb7f8f100 --- /dev/null +++ b/srcpkgs/imlib2/patches/big-endian.patch @@ -0,0 +1,37 @@ +From 7d60151ba9696ef07be79af68d5c631a97c63906 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= +Date: Mon, 3 Jan 2022 10:56:03 +0100 +Subject: ICO loader: Fix compilation on big endian architectures + +Commit ff79901a071a76ec73cc98c7ff15102c514afb7b refactors the +ico_read_idir function and removed the local nr variable. Unfortunately, +this variable is still used within an `#ifdef WORDS_BIGENDIAN` block on +big endian architectures as a for loop index variable. As such, the code +does presently not compile since the aforementioned commit. This patch +fixes this issue by re-introducing the variable conditionally on big +endian architectures. + +Note: It would likely be cleaner to declare the nr variable as part of +the loop declaration, however, this C99 feature does not seem to be used +anywhere in the code base, hence I refrained from using it here. +--- + src/modules/loaders/loader_ico.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c +index e8cef41..66c3643 100644 +--- a/src/modules/loaders/loader_ico.c ++++ b/src/modules/loaders/loader_ico.c +@@ -139,6 +139,9 @@ ico_read_icon(ico_t * ico, int ino) + { + ie_t *ie; + unsigned int size; ++#ifdef WORDS_BIGENDIAN ++ unsigned int nr; ++#endif + + ie = &ico->ie[ino]; + +-- +cgit v1.2.3 +