1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
--- 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;
|