summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-10-29 04:57:53 (GMT)
committerFred Drake <fdrake@acm.org>2000-10-29 04:57:53 (GMT)
commit4ba298c3253d5c4d11cf822619457701b7b248c0 (patch)
tree5b8b00d7b91a5a4f15c11a92a20532e7be7486a3
parent5f739befe5bab99950ee6fdcb635f7d3b2b57f5a (diff)
downloadcpython-4ba298c3253d5c4d11cf822619457701b7b248c0.zip
cpython-4ba298c3253d5c4d11cf822619457701b7b248c0.tar.gz
cpython-4ba298c3253d5c4d11cf822619457701b7b248c0.tar.bz2
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.
-rw-r--r--Modules/pyexpat.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 543648b..35530cf 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));