bpo-39689: Do not use native packing for format "?" with standard size (GH-18969)
(cherry picked from commit 472fc843ca816d65c12f9508ac762ca492165c45)
Co-authored-by: Stefan Krah <skrah@bytereef.org>
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 9281c68..1c917b7 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -2365,6 +2365,9 @@
"unknown" float format */
if (ptr->format == 'd' || ptr->format == 'f')
break;
+ /* Skip _Bool, semantics are different for standard size */
+ if (ptr->format == '?')
+ break;
ptr->pack = native->pack;
ptr->unpack = native->unpack;
break;