X-Git-Url: https://git.distorted.org.uk/~mdw/pyke/blobdiff_plain/96936b4a526f1960f06caeecfc0a917303209ac5..7e18a150da6ebba51ca22fbe65f12c023def4b13:/pyke.h diff --git a/pyke.h b/pyke.h index b6a5d8d..984b5d5 100644 --- a/pyke.h +++ b/pyke.h @@ -82,6 +82,13 @@ PRIVATE_SYMBOLS; # define PyVarObject_HEAD_INIT(super, sz) PyObject_HEAD_INIT(super) sz, #endif +/* Python 3.2 changed the type of hash values, so paper over this annoying + * difference. + */ +#if PY_VERSION_HEX < 0x03020000 + typedef long Py_hash_t; +#endif + /*----- Utilities for returning values and exceptions ---------------------*/ /* Returning values. */ @@ -162,10 +169,12 @@ extern void restore_exception(struct excinfo *, const char *, ...); /* Input conversion functions for standard kinds of objects, with overflow * checking where applicable. */ +struct bin { const void *p; Py_ssize_t sz; }; extern int convulong(PyObject *, void *); /* unsigned long */ extern int convuint(PyObject *, void *); /* unsigned int */ extern int convszt(PyObject *, void *); /* size_t */ extern int convbool(PyObject *, void *); /* bool */ +extern int convbin(PyObject *, void *); /* read buffer holding bytes */ /* Output conversions. */ extern PyObject *getbool(int); /* bool */