From: Steve Dower Date: Thu, 26 Mar 2015 04:58:36 +0000 (-0700) Subject: Issue #23765: Removed IsBadStringPtr calls in ctypes X-Git-Tag: v3.5.0a3~37 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e6bb7eb27b8b81ed74e5132628ca8e6415baf57e;p=python Issue #23765: Removed IsBadStringPtr calls in ctypes --- diff --git a/Lib/ctypes/__init__.py b/Lib/ctypes/__init__.py index 055294c414..4cb6d0de27 100644 --- a/Lib/ctypes/__init__.py +++ b/Lib/ctypes/__init__.py @@ -237,14 +237,8 @@ _check_size(c_char) class c_char_p(_SimpleCData): _type_ = "z" - if _os.name == "nt": - def __repr__(self): - if not windll.kernel32.IsBadStringPtrA(self, -1): - return "%s(%r)" % (self.__class__.__name__, self.value) - return "%s(%s)" % (self.__class__.__name__, cast(self, c_void_p).value) - else: - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, cast(self, c_void_p).value) + def __repr__(self): + return "%s(%s)" % (self.__class__.__name__, c_void_p.from_buffer(self).value) _check_size(c_char_p, "P") class c_void_p(_SimpleCData): @@ -259,6 +253,8 @@ from _ctypes import POINTER, pointer, _pointer_type_cache class c_wchar_p(_SimpleCData): _type_ = "Z" + def __repr__(self): + return "%s(%s)" % (self.__class__.__name__, c_void_p.from_buffer(self).value) class c_wchar(_SimpleCData): _type_ = "u" diff --git a/Misc/NEWS b/Misc/NEWS index eafe2275e8..ef2dd3de4b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,8 @@ Core and Builtins Library ------- +- Issue #23765: Removed IsBadStringPtr calls in ctypes + - Issue #22364: Improved some re error messages using regex for hints. - Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes.