Skip to content

Commit b1242ea

Browse files
committed
Python 3 support
1 parent b85655c commit b1242ea

File tree

5 files changed

+144
-91
lines changed

5 files changed

+144
-91
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
/pxpy.c
44
/.pyrex/
55
/dist/
6-
/pxpy.so
76
/*.egg-info/
87
/*.egg/
8+
*.so

paradox.pxd

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
# -*- coding: utf-8 -*-
2-
32
cdef extern from *:
43
ctypedef char* const_char_ptr "const char*"
54

5+
66
cdef extern from "stdlib.h" nogil:
77
void *memset(void *str, int c, size_t n)
88
void *memcpy(void *str1, void *str2, size_t n)
99

10+
1011
cdef extern from "Python.h":
11-
object PyString_FromStringAndSize(char *s, int len)
12-
object PyString_Decode(char *s, int len, char *encoding, char *errors)
13-
object PyString_FromStringAndSize(char *v, int len)
14-
object PyString_AsDecodedObject(object str, char *encoding, char *errors)
12+
object PyBytes_FromStringAndSize(char *s, int len)
13+
object PyUnicode_Decode(char *s, int len, char *encoding, char *errors)
1514

1615

1716
cdef extern from "string.h":
@@ -122,13 +121,21 @@ cdef extern from "paradox.h":
122121
void PX_shutdown()
123122

124123
pxdoc_t* PX_new()
125-
pxdoc_t* PX_new2(void (*errorhandler)(pxdoc_t *p, int type, const_char_ptr msg, void *data),
126-
void* (*allocproc)(pxdoc_t *p, size_t size, const_char_ptr caller),
127-
void* (*reallocproc)(pxdoc_t *p, void *mem, size_t size, const_char_ptr caller),
128-
void (*freeproc)(pxdoc_t *p, void *mem))
124+
pxdoc_t* PX_new2(
125+
void (*errorhandler)(pxdoc_t *p, int type, const_char_ptr msg, void *data),
126+
void* (*allocproc)(pxdoc_t *p, size_t size, const_char_ptr caller),
127+
void* (*reallocproc)(pxdoc_t *p, void *mem, size_t size, const_char_ptr caller),
128+
void (*freeproc)(pxdoc_t *p, void *mem)
129+
)
129130
char* PX_strdup(pxdoc_t *pxdoc, char *str)
130131
int PX_open_file(pxdoc_t *pxdoc, const_char_ptr filename)
131-
int PX_create_file(pxdoc_t *pxdoc, pxfield_t *px_fields, unsigned int numfields, char *filename, int type)
132+
int PX_create_file(
133+
pxdoc_t *pxdoc,
134+
pxfield_t *px_fields,
135+
unsigned int numfields,
136+
char *filename,
137+
int type
138+
)
132139
int PX_read_primary_index(pxdoc_t *pindex)
133140
int PX_add_primary_index(pxdoc_t *pxdoc, pxdoc_t *pindex)
134141
int PX_set_targetencoding(pxdoc_t *pxdoc, char *encoding)
@@ -142,15 +149,35 @@ cdef extern from "paradox.h":
142149

143150

144151
void* PX_get_record(pxdoc_t *pxdoc, int recno, void *data)
145-
void* PX_get_record2(pxdoc_t *pxdoc, int recno, void *data, int *deleted, pxdatablockinfo_t *pxdbinfo)
152+
void* PX_get_record2(
153+
pxdoc_t *pxdoc,
154+
int recno,
155+
void *data,
156+
int *deleted,
157+
pxdatablockinfo_t *pxdbinfo
158+
)
146159
int PX_get_data_alpha(pxdoc_t *pxdoc, void *data, int len, char **value)
147160
int PX_get_data_bytes(pxdoc_t *pxdoc, void *data, int len, char **value)
148161
int PX_get_data_double(pxdoc_t *pxdoc, void *data, int len, double *value)
149162
int PX_get_data_long(pxdoc_t *pxdoc, void *data, int len, long *value)
150163
int PX_get_data_short(pxdoc_t *pxdoc, void *data, int len, short int *value)
151164
int PX_get_data_byte(pxdoc_t *pxdoc, void *data, int len, char *value)
152-
int PX_get_data_blob(pxdoc_t *pxdoc, void *data, int len, int *mod, int *blobsize, char **value)
153-
int PX_get_data_graphic(pxdoc_t *pxdoc, void *data, int len, int *mod, int *blobsize, char **value)
165+
int PX_get_data_blob(
166+
pxdoc_t *pxdoc,
167+
void *data,
168+
int len,
169+
int *mod,
170+
int *blobsize,
171+
char **value
172+
)
173+
int PX_get_data_graphic(
174+
pxdoc_t *pxdoc,
175+
void *data,
176+
int len,
177+
int *mod,
178+
int *blobsize,
179+
char **value
180+
)
154181
int PX_get_parameter(pxdoc_t *pxdoc, const_char_ptr name, char **value)
155182
pxval_t** PX_retrieve_record(pxdoc_t *pxdoc, int recno)
156183

0 commit comments

Comments
 (0)