| --- 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 <id3/id3lib_frame.h> |
| #include <id3/tag.h> |
| |
| +#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; |