/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/python-compat.h

  • Committer: Richard Wilbur
  • Date: 2016-02-04 19:07:28 UTC
  • mto: This revision was merged to the branch mainline in revision 6618.
  • Revision ID: richard.wilbur@gmail.com-20160204190728-p0zvfii6zase0fw7
Update COPYING.txt from the original http://www.gnu.org/licenses/gpl-2.0.txt  (Only differences were in whitespace.)  Thanks to Petr Stodulka for pointing out the discrepancy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#ifndef _BZR_PYTHON_COMPAT_H
26
26
#define _BZR_PYTHON_COMPAT_H
27
27
 
28
 
#if PY_MAJOR_VERSION >= 3
29
 
 
30
 
#define PyInt_FromSsize_t PyLong_FromSsize_t
31
 
 
32
 
/* In Python 3 the Py_TPFLAGS_CHECKTYPES behaviour is on by default */
33
 
#define Py_TPFLAGS_CHECKTYPES 0
34
 
 
35
 
#define PYMOD_ERROR NULL
36
 
#define PYMOD_SUCCESS(val) val
37
 
#define PYMOD_INIT_FUNC(name) PyMODINIT_FUNC PyInit_##name(void)
38
 
#define PYMOD_CREATE(ob, name, doc, methods) do { \
39
 
    static struct PyModuleDef moduledef = { \
40
 
        PyModuleDef_HEAD_INIT, name, doc, -1, methods \
41
 
    }; \
42
 
    ob = PyModule_Create(&moduledef); \
43
 
    } while(0)
44
 
 
45
 
#else
46
 
 
47
 
#define PyBytes_Type PyString_Type
48
 
#define PyBytes_CheckExact PyString_CheckExact
49
 
 
50
 
/* Lazy hide Python 3.3 only functions, callers must avoid on 2.7 anyway */
51
 
#define PyUnicode_AsUTF8AndSize(u, size) NULL
52
 
 
53
 
#define PYMOD_ERROR
54
 
#define PYMOD_SUCCESS(val)
55
 
#define PYMOD_INIT_FUNC(name) void init##name(void)
56
 
#define PYMOD_CREATE(ob, name, doc, methods) do { \
57
 
    ob = Py_InitModule3(name, methods, doc); \
58
 
    } while(0)
59
 
 
 
28
/* http://www.python.org/dev/peps/pep-0353/ */
 
29
#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
 
30
    typedef int Py_ssize_t;
 
31
    typedef Py_ssize_t (*lenfunc)(PyObject *);
 
32
    typedef PyObject * (*ssizeargfunc)(PyObject *, Py_ssize_t);
 
33
    typedef PyObject * (*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
 
34
    #define PY_SSIZE_T_MAX INT_MAX
 
35
    #define PY_SSIZE_T_MIN INT_MIN
 
36
    #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
 
37
    #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
60
38
#endif
61
39
 
62
40
#if defined(_WIN32) || defined(WIN32)
101
79
#define strtoull _strtoui64
102
80
#endif
103
81
 
 
82
/* Introduced in Python 2.6 */
 
83
#ifndef Py_TYPE
 
84
#  define Py_TYPE(o) ((o)->ob_type)
 
85
#endif
 
86
#ifndef Py_REFCNT
 
87
#  define Py_REFCNT(o) ((o)->ob_refcnt)
 
88
#endif
 
89
 
104
90
#endif /* _BZR_PYTHON_COMPAT_H */