~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/python-compat.h

  • Committer: John Arbash Meinel
  • Date: 2009-10-12 21:44:27 UTC
  • mto: This revision was merged to the branch mainline in revision 4737.
  • Revision ID: john@arbash-meinel.com-20091012214427-zddi1kmc2jlf7v31
Py_ssize_t and its associated function typedefs are not available w/ python 2.4

So we define them in python-compat.h
Even further, gcc issued a warning for:
static int
_workaround_pyrex_096()
So we changed it to:
_workaround_pyrex_096(void)

Also, some python api funcs were incorrectly defined as 'char *' when they meant
'const char *'. Work around that with a (char *) cast, to avoid compiler warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
/* http://www.python.org/dev/peps/pep-0353/ */
29
29
#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
30
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);
31
34
    #define PY_SSIZE_T_MAX INT_MAX
32
35
    #define PY_SSIZE_T_MIN INT_MIN
33
36
    #define PyInt_FromSsize_t(z) PyInt_FromLong(z)