~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/python-compat.h

Merge down-thread (including bzr.dev)

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_VERSION_HEX < 0x02050000
29
 
  typedef int Py_ssize_t;
 
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;
30
31
    #define PY_SSIZE_T_MAX INT_MAX
31
32
    #define PY_SSIZE_T_MIN INT_MIN
32
33
    #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
33
34
    #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
34
35
#endif
35
36
 
 
37
#if defined(_WIN32) || defined(WIN32)
 
38
    /* Needed for htonl */
 
39
    #include "Winsock.h"
 
40
 
 
41
    /* Defining WIN32_LEAN_AND_MEAN makes including windows quite a bit
 
42
     * lighter weight.
 
43
     */
 
44
    #define WIN32_LEAN_AND_MEAN
 
45
    #include <windows.h>
 
46
 
 
47
    /* sys/stat.h doesn't have S_ISLNK on win32, so we fake it by just always
 
48
     * returning False
 
49
     */
 
50
    #define S_ISLNK(mode) (0)
 
51
#else /* Not win32 */
 
52
    /* For htonl */
 
53
    #include "arpa/inet.h"
36
54
#endif
 
55
 
 
56
 
 
57
#endif /* _BZR_PYTHON_COMPAT_H */