--- pyid3lib-0.5.1/pyid3lib.cc.orig 2007-08-08 23:53:08.000000000 +0300 +++ pyid3lib-0.5.1/pyid3lib.cc 2007-08-08 23:53:12.000000000 +0300 @@ -10,13 +10,19 @@ #include #include +#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) +typedef int Py_ssize_t; +#define PY_SSIZE_T_MAX INT_MAX +#define PY_SSIZE_T_MIN INT_MIN +#endif + typedef struct { PyObject_HEAD ID3_Tag* tag; ID3_Frame** frames; - int size, alloc; + Py_ssize_t size, alloc; } ID3Object; typedef struct @@ -80,13 +86,24 @@ static PySequenceMethods tag_as_sequence = { +#if PY_VERSION_HEX >= 0x02050000 + (lenfunc)id3_length, +#else (inquiry)id3_length, +#endif NULL, NULL, +#if PY_VERSION_HEX >= 0x02050000 + (ssizeargfunc)id3_item, + (ssizessizeargfunc)id3_slice, + (ssizeobjargproc)id3_ass_item, + (ssizessizeobjargproc)id3_ass_slice, +#else (intargfunc)id3_item, (intintargfunc)id3_slice, (intobjargproc)id3_ass_item, (intintobjargproc)id3_ass_slice, +#endif (objobjproc)id3_contains, NULL, NULL, @@ -824,7 +841,7 @@ static ID3_Frame* frame_from_dict( ID3_FrameID fid, PyObject* dict ) { char* data; - int size; + Py_ssize_t size; ID3_Field* field; ID3_FieldID flid;