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.
This commit is contained in:
Fred Drake 2000-10-29 04:57:53 +00:00
parent 5f739befe5
commit 4ba298c325
1 changed files with 9 additions and 0 deletions

View File

@ -826,6 +826,13 @@ pyexpat_ParserCreate(PyObject *notused, PyObject *args, PyObject *kw)
if (!PyArg_ParseTupleAndKeywords(args, kw, "|zz:ParserCreate", kwlist, if (!PyArg_ParseTupleAndKeywords(args, kw, "|zz:ParserCreate", kwlist,
&encoding, &namespace_separator)) &encoding, &namespace_separator))
return NULL; 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); return (PyObject *)newxmlparseobject(encoding, namespace_separator);
} }
@ -913,6 +920,8 @@ initpyexpat(void)
ErrorObject = PyErr_NewException("xml.parsers.expat.error", ErrorObject = PyErr_NewException("xml.parsers.expat.error",
NULL, NULL); NULL, NULL);
PyModule_AddObject(m, "error", ErrorObject); PyModule_AddObject(m, "error", ErrorObject);
Py_INCREF(&Xmlparsetype);
PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype);
PyModule_AddObject(m, "__version__", PyModule_AddObject(m, "__version__",
PyString_FromStringAndSize(rev+11, strlen(rev+11)-2)); PyString_FromStringAndSize(rev+11, strlen(rev+11)-2));