From c56c8901b7800f09a06afdaf4d70eac92bdca176 Mon Sep 17 00:00:00 2001 From: Yay295 Date: Mon, 26 Feb 2024 01:00:11 -0600 Subject: [PATCH] handle I;16 native endianness on big-endian machine --- src/_imaging.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/_imaging.c b/src/_imaging.c index 59f80a35415..520e5079346 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -1578,7 +1578,17 @@ if (PySequence_Check(op)) { \ int bigendian = 0; if (image->type == IMAGING_TYPE_SPECIAL) { // I;16* - bigendian = strcmp(image->mode, "I;16B") == 0; + if (strcmp(image->mode, "I;16N") == 0) { +#ifdef WORDS_BIGENDIAN + bigendian = 1; +#else + bigendian = 0; +#endif + } else if (strcmp(image->mode, "I;16B") == 0) { + bigendian = 1; + } else { + bigendian = 0; + } } for (i = x = y = 0; i < n; i++) { set_value_to_item(seq, i);