We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This code produces an error with a somewhat unhelpful message:
from ctypes import * printf = CDLL('libc.so.6').printf printf.argtypes = [c_char_p, c_char_p] printf(b"Value %s\n", 10) # call with an incompatible argument
Traceback (most recent call last): File "/home/tomas/dev/cpython/error.py", line 5, in <module> printf(b"Value: %s\n", 10) ctypes.ArgumentError: argument 2: TypeError: wrong type
The source code itself suggests providing a better message:
cpython/Modules/_ctypes/_ctypes.c
Lines 1795 to 1797 in 3979150
I suggest making the message more helpful by including the expected argument type and the type that was actually provided e.g.
- TypeError: wrong type + TypeError: 'int' object cannot be interpreted as ctypes.c_char_p
The same improvement can be applied to c_wchar_p and c_void_p.
c_wchar_p
c_void_p
The text was updated successfully, but these errors were encountered:
gh-107455: ctypes: Improve error messages when converting to an incom…
62a3a15
…patible type (#107456)
Thanks!
Sorry, something went wrong.
No branches or pull requests
This code produces an error with a somewhat unhelpful message:
The source code itself suggests providing a better message:
cpython/Modules/_ctypes/_ctypes.c
Lines 1795 to 1797 in 3979150
I suggest making the message more helpful by including the expected argument type and the type that was actually provided e.g.
The same improvement can be applied to
c_wchar_p
andc_void_p
.Linked PRs
The text was updated successfully, but these errors were encountered: