[Python-Dev] [Python-checkins] r43041 - python/trunk/Modules/_ctypes/cfield.c

Thomas Heller theller at python.net
Thu Mar 16 21:45:46 CET 2006


Martin v. Löwis wrote:
> Thomas Heller wrote:
>> BTW: Is a "porting guide" to make extension modules compatible with 2.5
>> available somewhere? PEP 353 scratches only the surface...
> 
> Wrt. ssize_t changes, PEP 353 is meant to be comprehensive. Which
> particular aspect are you missing?

I suggest to change this:

  #if PY_VERSION_HEX < 0x02050000
  typedef int Py_ssize_t;
  #endif

with this:

  #if (PY_VERSION_HEX < 0x02050000)
  typedef int Py_ssize_t;
  #define lenfunc inquiry
  #define readbufferproc getreadbufferproc
  #define writebufferproc getwritebufferproc
  #define segcountproc getsegcountproc
  #define charbufferproc getcharbufferproc
  #define ssizeargfunc intargfunc
  #define ssizessizeargfunc intintargfunc
  #define ssizeobjargproc intobjargproc
  #define ssizessizeobjargproc intintobjargproc
  ... more defines
  #endif

Maybe a complete list of defines needed can be given?

Then, from only reading the PEP without looking up the sources,
it is not clear to me what the PY_SIZE_T_CLEAN definition does.

Finally, the format codes to use for Py_ssize_t arguments passed to PyBuild_Value,
PyString_FromFormat, PyObject_CallFunction (and other functions) are not mentioned at all.

Thanks,
Thomas



More information about the Python-Dev mailing list