Kaydet (Commit) 1d581cda authored tarafından Justin Bronn's avatar Justin Bronn

Fixed #11609 -- The `check_pointer` error checking routine and…

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.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@12006 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst f58fb383
...@@ -24,7 +24,7 @@ class GDALBase(object): ...@@ -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): ...@@ -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:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment