diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-06-30 06:40:55 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-06-30 06:40:55 (GMT) |
commit | b4fcf4d102ac912d6bd38d07a4bb674deaa6e1a9 (patch) | |
tree | 2d96209be5d55309dd0a31b4c21da00519597bd7 /Modules/pyexpat.c | |
parent | 6b2cf0e5ea8475436e38418eb206ada06ac52675 (diff) | |
download | cpython-b4fcf4d102ac912d6bd38d07a4bb674deaa6e1a9.zip cpython-b4fcf4d102ac912d6bd38d07a4bb674deaa6e1a9.tar.gz cpython-b4fcf4d102ac912d6bd38d07a4bb674deaa6e1a9.tar.bz2 |
Define PyDoc_STRVAR if it is not available (PyXML 1.54).
Remove support for Python 1.5 (PyXML 1.55).
Diffstat (limited to 'Modules/pyexpat.c')
-rw-r--r-- | Modules/pyexpat.c | 74 |
1 files changed, 11 insertions, 63 deletions
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index 9cf3935..045b13a 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -1,22 +1,16 @@ #include "Python.h" -#if PY_VERSION_HEX < 0x020000B1 -#include <assert.h> -#endif #include <ctype.h> #include "compile.h" #include "frameobject.h" #include "expat.h" -#ifndef PyGC_HEAD_SIZE -#define PyGC_HEAD_SIZE 0 -#define PyObject_GC_Init(x) -#define PyObject_GC_Fini(m) -#define Py_TPFLAGS_GC 0 +#ifndef PyDoc_STRVAR +#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) #endif -#if (PY_MAJOR_VERSION == 1 && PY_MINOR_VERSION > 5) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION < 2) -/* In Python 1.6, 2.0 and 2.1, disabling Unicode was not possible. */ +#if (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION < 2) +/* In Python 2.0 and 2.1, disabling Unicode was not possible. */ #define Py_USING_UNICODE #endif @@ -297,7 +291,7 @@ call_with_frame(PyCodeObject *c, PyObject* func, PyObject* args) #ifndef Py_USING_UNICODE #define STRING_CONV_FUNC conv_string_to_utf8 #else -/* Python 1.6 and later versions */ +/* Python 2.0 and later versions */ #define STRING_CONV_FUNC (self->returns_unicode \ ? conv_string_to_unicode : conv_string_to_utf8) #endif @@ -958,17 +952,13 @@ xmlparse_ExternalEntityParserCreate(xmlparseobject *self, PyObject *args) return NULL; } -#if PY_MAJOR_VERSION == 1 && PY_MINOR_VERSION < 6 - new_parser = PyObject_NEW(xmlparseobject, &Xmlparsetype); -#else #ifndef Py_TPFLAGS_HAVE_GC - /* Python versions 1.6 to 2.1 */ + /* Python versions 2.0 and 2.1 */ new_parser = PyObject_New(xmlparseobject, &Xmlparsetype); #else /* Python versions 2.2 and later */ new_parser = PyObject_GC_New(xmlparseobject, &Xmlparsetype); #endif -#endif if (new_parser == NULL) return NULL; @@ -1127,14 +1117,6 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern) int i; xmlparseobject *self; -#if PY_MAJOR_VERSION == 1 && PY_MINOR_VERSION < 6 - self = PyObject_NEW(xmlparseobject, &Xmlparsetype); - if (self == NULL) - return NULL; - - self->returns_unicode = 0; -#else - /* Code for versions 1.6 and later */ #ifdef Py_TPFLAGS_HAVE_GC /* Code for versions 2.2 and later */ self = PyObject_GC_New(xmlparseobject, &Xmlparsetype); @@ -1144,8 +1126,12 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern) if (self == NULL) return NULL; +#ifdef Py_USING_UNICODE self->returns_unicode = 1; +#else + self->returns_unicode = 0; #endif + self->buffer = NULL; self->buffer_size = CHARACTER_DATA_BUFFER_SIZE; self->buffer_used = 0; @@ -1219,18 +1205,13 @@ xmlparse_dealloc(xmlparseobject *self) self->buffer = NULL; } Py_XDECREF(self->intern); -#if PY_MAJOR_VERSION == 1 && PY_MINOR_VERSION < 6 - /* Code for versions before 1.6 */ - free(self); -#else #ifndef Py_TPFLAGS_HAVE_GC - /* Code for versions 1.6 to 2.1 */ + /* Code for versions 2.0 and 2.1 */ PyObject_Del(self); #else /* Code for versions 2.2 and later. */ PyObject_GC_Del(self); #endif -#endif } static int @@ -1563,39 +1544,6 @@ static struct PyMethodDef pyexpat_methods[] = { PyDoc_STRVAR(pyexpat_module_documentation, "Python wrapper for Expat parser."); -#if PY_VERSION_HEX < 0x20000F0 - -/* 1.5 compatibility: PyModule_AddObject */ -static int -PyModule_AddObject(PyObject *m, char *name, PyObject *o) -{ - PyObject *dict; - if (!PyModule_Check(m) || o == NULL) - return -1; - dict = PyModule_GetDict(m); - if (dict == NULL) - return -1; - if (PyDict_SetItemString(dict, name, o)) - return -1; - Py_DECREF(o); - return 0; -} - -static int -PyModule_AddIntConstant(PyObject *m, char *name, long value) -{ - return PyModule_AddObject(m, name, PyInt_FromLong(value)); -} - -static int -PyModule_AddStringConstant(PyObject *m, char *name, char *value) -{ - return PyModule_AddObject(m, name, PyString_FromString(value)); -} - -#endif - - /* Return a Python string that represents the version number without the * extra cruft added by revision control, even if the right options were * given to the "cvs export" command to make it not include the extra |