~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/_export_c_api.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:
45
45
    PyObject *d = NULL;
46
46
    PyObject *c_obj = NULL;
47
47
 
48
 
    d = PyObject_GetAttrString(module, _C_API_NAME);
 
48
    /* (char *) is because python2.4 declares this api as 'char *' rather than
 
49
     * const char* which it really is.
 
50
     */
 
51
    d = PyObject_GetAttrString(module, (char *)_C_API_NAME);
49
52
    if (!d) {
50
53
        PyErr_Clear();
51
54
        d = PyDict_New();
52
55
        if (!d)
53
56
            goto bad;
54
57
        Py_INCREF(d);
55
 
        if (PyModule_AddObject(module, _C_API_NAME, d) < 0)
 
58
        if (PyModule_AddObject(module, (char *)_C_API_NAME, d) < 0)
56
59
            goto bad;
57
60
    }
58
61
    c_obj = PyCObject_FromVoidPtrAndDesc(func, signature, 0);