New submission from Facundo Batista:
In the doc it says:
"""
Assigning a new value to instances of the pointer types c_char_p, c_wchar_p,
and c_void_p changes the memory location they point to, not the contents of the
memory block [...].
>>> s = "Hello, World"
>>> c_s = c_wchar_p(s)
>>> print(c_s)
c_wchar_p('Hello, World')
>>> c_s.value = "Hi, there"
>>> print(c_s)
c_wchar_p('Hi, there')
>>> print(s) # first object is unchanged
Hello, World
>>>
"""
However, c_s it's not getting "Hi, there" as "the memory location it points
to", otherwise next access will surely segfault.
OTOH, if it *does* change the memory location, but the value is cached locally,
which is the point of letting it change the memory location? Shouldn't it raise
AttributeError or something?
Thanks!
----------
components: ctypes
messages: 170518
nosy: facundobatista
priority: normal
severity: normal
status: open
title: Assigning new values to instance of pointer types does not check validity
type: behavior
versions: Python 3.2
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue15947>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com