From 4ba298c3253d5c4d11cf822619457701b7b248c0 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Sun, 29 Oct 2000 04:57:53 +0000 Subject: [PATCH] ParserCreate(): Added test that the namespace_separator value, if given, has the required length. initpyexpat(): Provide the type object for the ParserCreate() return value as XMLParserType. --- Modules/pyexpat.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index 543648bf9d4..35530cf870a 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -826,6 +826,13 @@ pyexpat_ParserCreate(PyObject *notused, PyObject *args, PyObject *kw) if (!PyArg_ParseTupleAndKeywords(args, kw, "|zz:ParserCreate", kwlist, &encoding, &namespace_separator)) return NULL; + if (namespace_separator != NULL + && strlen(namespace_separator) != 1) { + PyErr_SetString(PyExc_ValueError, + "namespace_separator must be one character," + " omitted, or None"); + return NULL; + } return (PyObject *)newxmlparseobject(encoding, namespace_separator); } @@ -913,6 +920,8 @@ initpyexpat(void) ErrorObject = PyErr_NewException("xml.parsers.expat.error", NULL, NULL); PyModule_AddObject(m, "error", ErrorObject); + Py_INCREF(&Xmlparsetype); + PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype); PyModule_AddObject(m, "__version__", PyString_FromStringAndSize(rev+11, strlen(rev+11)-2));