[issue6729] Add support for ssize_t
Ryan Coyner rcoy...@gmail.com added the comment: You don't want to do c_size_t = c_void_p because that will prevent type checking. We want c_size_t to be integers; setting it to c_void_p will accept other values. The lines that define c_size_t are doing a sizeof check to determine how many bits the CPU supports, and c_size_t should represent unsigned integers [1]. On a 16-bit machine: c_size_t = c_uint On a 32-bit machine: c_size_t = c_ulong On a 64-bit machine: c_size_t = c_ulonglong Now, ssize_t is like size_t, except that it is signed [2]. So if I am not mistaken, all we have to do is: if sizeof(c_uint) == sizeof(c_void_p): c_size_t = c_uint c_ssize_t = c_int elif sizeof(c_ulong) == sizeof(c_void_p): c_size_t = c_ulong c_ssize_t = c_long elif sizeof(c_ulonglong) == sizeof(c_void_p): c_size_t = c_ulonglong c_ssize_t = c_longlong Patch attached with documentation and unit test. [1] - http://www.gnu.org/software/libc/manual/html_node/Important-Data-Types.html [2] - http://www.gnu.org/software/libc/manual/html_node/I_002fO-Primitives.html -- keywords: +patch nosy: +rcoyner Added file: http://bugs.python.org/file16405/issue6729.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6729] Add support for ssize_t
Changes by Galen Clark Haynes gchay...@gmail.com: -- nosy: +robotify ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6729] Add support for ssize_t
Thomas Heller thel...@ctypes.org added the comment: Find where c_size_t is defined: in Lib/ctypes/__init__.py -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6729] Add support for ssize_t
Thomas Heller thel...@ctypes.org added the comment: Would you like to work on a patch? -- versions: +Python 2.7, Python 3.0, Python 3.1, Python 3.2 -Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6729] Add support for ssize_t
Nikolaus Rath nikol...@rath.org added the comment: I can give it a shot if you give me a rough idea where I have to make the appropriate changes. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6729] Add support for ssize_t
New submission from Nikolaus Rath nikol...@rath.org: ctypes currently has a datatype c_size_t which corresponds to size_t in C, but there is no datatype for the C ssize_t. -- assignee: theller components: ctypes messages: 91713 nosy: Nikratio, theller severity: normal status: open title: Add support for ssize_t type: feature request versions: Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6729 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com