diff options
author | Gerhard Häring <gh@ghaering.de> | 2010-03-05 09:12:37 (GMT) |
---|---|---|
committer | Gerhard Häring <gh@ghaering.de> | 2010-03-05 09:12:37 (GMT) |
commit | 3bbb67273a8c146a38de91080a37e716e2699622 (patch) | |
tree | 19a3d1e79cb51cc42760af73724c4f4615d4c21c /Modules/_sqlite/sqlitecompat.h | |
parent | 2bb66e03b72ae5a0468dab0b7020316f31c8cfdf (diff) | |
download | cpython-3bbb67273a8c146a38de91080a37e716e2699622.zip cpython-3bbb67273a8c146a38de91080a37e716e2699622.tar.gz cpython-3bbb67273a8c146a38de91080a37e716e2699622.tar.bz2 |
Merged code from pysqlite 2.6.0.
Diffstat (limited to 'Modules/_sqlite/sqlitecompat.h')
-rw-r--r-- | Modules/_sqlite/sqlitecompat.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/Modules/_sqlite/sqlitecompat.h b/Modules/_sqlite/sqlitecompat.h index c379825..3408fc2 100644 --- a/Modules/_sqlite/sqlitecompat.h +++ b/Modules/_sqlite/sqlitecompat.h @@ -1,6 +1,6 @@ /* sqlitecompat.h - compatibility macros * - * Copyright (C) 2006 Gerhard Häring <gh@ghaering.de> + * Copyright (C) 2006-2010 Gerhard Häring <gh@ghaering.de> * * This file is part of pysqlite. * @@ -21,6 +21,8 @@ * 3. This notice may not be removed or altered from any source distribution. */ +#include "Python.h" + #ifndef PYSQLITE_COMPAT_H #define PYSQLITE_COMPAT_H @@ -31,4 +33,31 @@ typedef int Py_ssize_t; typedef int (*lenfunc)(PyObject*); #endif + +/* define PyDict_CheckExact for pre-2.4 versions of Python */ +#ifndef PyDict_CheckExact +#define PyDict_CheckExact(op) ((op)->ob_type == &PyDict_Type) +#endif + +/* define Py_CLEAR for pre-2.4 versions of Python */ +#ifndef Py_CLEAR +#define Py_CLEAR(op) \ + do { \ + if (op) { \ + PyObject *tmp = (PyObject *)(op); \ + (op) = NULL; \ + Py_DECREF(tmp); \ + } \ + } while (0) +#endif + +#ifndef PyVarObject_HEAD_INIT +#define PyVarObject_HEAD_INIT(type, size) \ + PyObject_HEAD_INIT(type) size, +#endif + +#ifndef Py_TYPE +#define Py_TYPE(ob) ((ob)->ob_type) +#endif + #endif |