summaryrefslogtreecommitdiff
blob: 33709d83849f9aba00db7a4cc3c45ae4152716a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
https://bugs.gentoo.org/877777
https://git.enlightenment.org/old/legacy-imlib2/commit/7d60151ba9696ef07be79af68d5c631a97c63906

From 7d60151ba9696ef07be79af68d5c631a97c63906 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 3 Jan 2022 10:56:03 +0100
Subject: [PATCH] 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];