]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | ||
4 | #pragma once | |
5 | ||
6 | #include <Python.h> | |
7 | ||
8 | // Python's pyconfig-64.h conflicts with ceph's acconfig.h | |
9 | #undef HAVE_SYS_WAIT_H | |
10 | #undef HAVE_UNISTD_H | |
11 | #undef HAVE_UTIME_H | |
12 | #undef _POSIX_C_SOURCE | |
13 | #undef _XOPEN_SOURCE | |
14 | ||
15 | #if PY_MAJOR_VERSION >= 3 | |
16 | inline PyObject* PyString_FromString(const char *v) { | |
17 | return PyUnicode_FromFormat("%s", v); | |
18 | } | |
19 | inline const char* PyString_AsString(PyObject *string) { | |
20 | return PyUnicode_AsUTF8(string); | |
21 | } | |
22 | inline long PyInt_AsLong(PyObject *io) { | |
23 | return PyLong_AsLong(io); | |
24 | } | |
25 | inline PyObject* PyInt_FromLong(long ival) { | |
26 | return PyLong_FromLong(ival); | |
27 | } | |
28 | inline int PyString_Check(PyObject *o) { | |
29 | return PyUnicode_Check(o); | |
30 | } | |
31 | inline PyObject* PyFloat_FromString(PyObject *s, void *arg) { | |
32 | return PyFloat_FromString(s); | |
33 | } | |
34 | inline PyObject* PyInt_FromString(const char *str, char **pend, int base) { | |
35 | return PyLong_FromString(str, pend, base); | |
36 | } | |
37 | #define PyString_Type PyUnicode_Type | |
38 | #endif |