[issue6729] Add support for ssize_t

2010-02-28 Thread Ryan Coyner

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

2009-10-25 Thread Galen Clark Haynes

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

2009-09-18 Thread Thomas Heller

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

2009-09-17 Thread Thomas Heller

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

2009-09-17 Thread Nikolaus Rath

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

2009-08-18 Thread Nikolaus Rath

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