/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: John Arbash Meinel
  • Date: 2008-10-08 21:56:12 UTC
  • mto: This revision was merged to the branch mainline in revision 3773.
  • Revision ID: john@arbash-meinel.com-20081008215612-y9v94tqxreqoangx
Simplify the --raw mode.

I didn't realize, but the only node that is special cased is the 'root' node,
and to read it, you actually have to parse it directly, because the
compressed bytes start immediately after the end of the header, rather than
having any padding before the zlib bytes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 *
16
16
 * You should have received a copy of the GNU General Public License
17
17
 * along with this program; if not, write to the Free Software
18
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
18
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
19
 */
20
20
 
21
21
/* Provide the typedefs that pyrex does automatically in newer versions, to
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);
34
31
    #define PY_SSIZE_T_MAX INT_MAX
35
32
    #define PY_SSIZE_T_MIN INT_MIN
36
33
    #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
38
35
#endif
39
36
 
40
37
#if defined(_WIN32) || defined(WIN32)
 
38
    /* Needed for htonl */
 
39
    #include "Winsock.h"
 
40
 
41
41
    /* Defining WIN32_LEAN_AND_MEAN makes including windows quite a bit
42
42
     * lighter weight.
43
43
     */
44
44
    #define WIN32_LEAN_AND_MEAN
45
45
    #include <windows.h>
46
46
 
47
 
    /* Needed for htonl */
48
 
    #include "Winsock2.h"
49
 
 
50
 
    /* sys/stat.h doesn't have any of these macro definitions for MSVC, so
51
 
     * we'll define whatever is missing that we actually use.
52
 
     */
53
 
    #if !defined(S_ISDIR)
54
 
        #define S_ISDIR(m) (((m) & 0170000) == 0040000)
55
 
    #endif
56
 
    #if !defined(S_ISREG)
57
 
        #define S_ISREG(m) (((m) & 0170000) == 0100000)
58
 
    #endif
59
 
    #if !defined(S_IXUSR)
60
 
        #define S_IXUSR 0000100/* execute/search permission, owner */
61
 
    #endif
62
47
    /* sys/stat.h doesn't have S_ISLNK on win32, so we fake it by just always
63
48
     * returning False
64
49
     */
65
 
    #if !defined(S_ISLNK)
66
 
        #define S_ISLNK(mode) (0)
67
 
    #endif
 
50
    #define S_ISLNK(mode) (0)
68
51
#else /* Not win32 */
69
52
    /* For htonl */
70
53
    #include "arpa/inet.h"
71
54
#endif
72
55
 
73
 
#include <stdio.h>
74
 
 
75
 
#ifdef _MSC_VER
76
 
#define  snprintf  _snprintf
77
 
#endif
78
 
 
79
 
/* Introduced in Python 2.6 */
80
 
#ifndef Py_TYPE
81
 
#  define Py_TYPE(o) ((o)->ob_type)
82
 
#endif
83
 
#ifndef Py_REFCNT
84
 
#  define Py_REFCNT(o) ((o)->ob_refcnt)
85
 
#endif
86
56
 
87
57
#endif /* _BZR_PYTHON_COMPAT_H */