Below code failed to compile on a 32 bit machine with error
typewrappers.c: In function 'libvirt_intUnwrap':
typewrappers.c:135:5: error: logical 'and' of mutually exclusive tests is always false [-Werror=logical-op]
cc1: all warnings being treated as errors
The patch fixes this error.
if ((long_val == -1) && PyErr_Occurred())
return -1;
+#if LONG_MAX != INT_MAX
if (long_val >= INT_MIN && long_val <= INT_MAX) {
*val = long_val;
} else {
"Python int too large to convert to C int");
return -1;
}
+#else
+ *val = long_val;
+#endif
return 0;
}