mirror of
https://github.com/django/django.git
synced 2025-07-05 18:29:11 +00:00
[1.1.X] Fixed #11609 -- The check_pointer
error checking routine and GDALBase._set_ptr
are now able to handle the long pointer addresses used by some x86_64 platforms. Thanks, rmkemker, for the bug report.
Backport of r12006 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12007 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
90f7dfb461
commit
f1fe7c00e2
@ -24,7 +24,7 @@ class GDALBase(object):
|
|||||||
def _set_ptr(self, ptr):
|
def _set_ptr(self, ptr):
|
||||||
# Only allow the pointer to be set with pointers of the
|
# Only allow the pointer to be set with pointers of the
|
||||||
# compatible type or None (NULL).
|
# compatible type or None (NULL).
|
||||||
if isinstance(ptr, int):
|
if isinstance(ptr, (int, long)):
|
||||||
self._ptr = self.ptr_type(ptr)
|
self._ptr = self.ptr_type(ptr)
|
||||||
elif isinstance(ptr, (self.ptr_type, NoneType)):
|
elif isinstance(ptr, (self.ptr_type, NoneType)):
|
||||||
self._ptr = ptr
|
self._ptr = ptr
|
||||||
|
@ -109,6 +109,8 @@ def check_errcode(result, func, cargs):
|
|||||||
|
|
||||||
def check_pointer(result, func, cargs):
|
def check_pointer(result, func, cargs):
|
||||||
"Makes sure the result pointer is valid."
|
"Makes sure the result pointer is valid."
|
||||||
|
if isinstance(result, (int, long)):
|
||||||
|
result = c_void_p(result)
|
||||||
if bool(result):
|
if bool(result):
|
||||||
return result
|
return result
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user