of c_char_p and c_wchar_p has changed as a sideeffect.
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)
_check_size(c_char_p, "P")
class c_void_p(_SimpleCData):
Library
-------
+- Bug #1701409: Fix a segfault in printing ctypes.c_char_p and
+ ctypes.c_wchar_p when they point to an invalid location. As a
+ sideeffect the representation of these instances has changed.
+
- Bug #1734723: Fix repr.Repr() so it doesn't ignore the maxtuple attribute.
- Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it