Author: Brian Kearns <[email protected]>
Branch: stdlib-2.7.6
Changeset: r69642:35362e167655
Date: 2014-03-03 16:34 -0500
http://bitbucket.org/pypy/pypy/changeset/35362e167655/
Log: need this for 32bit
diff --git a/pypy/module/_rawffi/structure.py b/pypy/module/_rawffi/structure.py
--- a/pypy/module/_rawffi/structure.py
+++ b/pypy/module/_rawffi/structure.py
@@ -15,7 +15,7 @@
from pypy.module._rawffi.interp_rawffi import size_alignment
from pypy.module._rawffi.interp_rawffi import read_ptr, write_ptr
from rpython.rlib import clibffi, rgc
-from rpython.rlib.rarithmetic import intmask, signedtype, widen, r_uint
+from rpython.rlib.rarithmetic import intmask, signedtype, widen, r_uint,
r_longlong
from rpython.rtyper.lltypesystem import lltype, rffi
@@ -309,7 +309,8 @@
if ll_t is lltype.Bool or signedtype(ll_t._type):
sign = (value >> (numbits - 1)) & 1
if sign:
- value = value - (1 << numbits)
+ one = r_longlong(1) if ll_t is lltype.SignedLongLong
else 1
+ value = value - (one << numbits)
value = rffi.cast(ll_t, value)
break
return value
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit