[Python-Dev] A cast from Py_ssize_t to long (original) (raw)
Alexander Belopolsky alexander.belopolsky at gmail.com
Mon Aug 21 16:08:02 CEST 2006
- Previous message: [Python-Dev] A cast from Py_ssize_t to long
- Next message: [Python-Dev] A cast from Py_ssize_t to long
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 8/21/06, Thomas Wouters <thomas at python.org> wrote: [snip]
> Is this a bug? [snap] Yes. Pyssizet can be bigger than a long (on LLP64 systems, such as Win64).
Here is a similar problem: typedef struct { ... size_t pos; ... } mmap_object; ... mmap_tell_method(mmap_object *self, PyObject *unused) { CHECK_VALID(NULL); return PyInt_FromLong((long) self->pos); }
See Modules/mmapmodule.c .
Here a cast to ssize_t would, technically speaking, not be safe either, but it may be worth using ssize_t anyways.
Is there a simple automated way to detect situations like this? Maybe there is a win64 compiler that would generate a warning.
- Previous message: [Python-Dev] A cast from Py_ssize_t to long
- Next message: [Python-Dev] A cast from Py_ssize_t to long
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]