PyLong_FromSsize_t was incorrect when sizeof(size_t) > sizeof(long);
rewrite it so that it doesn't care about relative sizes of size_t,
long and long long.
The rewrite is modeled on PyLong_FromLong, instead of using
PyLong_FromByteArray; this makes the algorithm simpler and
more direct, and possibly also slightly faster.
diff --git a/Misc/NEWS b/Misc/NEWS
index 58524ee..7a8744f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
Core and Builtins
-----------------
+- Fix misbehaviour of PyLong_FromSsize_t on systems where sizeof(size_t) >
+ sizeof(long).
+
- Issue #2221: Corrected a SystemError "error return without exception set",
when the code executed by exec() raises an exception, and sys.stdout.flush()
also raises an error.