diff options
author | Christian Heimes <christian@cheimes.de> | 2012-09-24 11:27:28 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2012-09-24 11:27:28 (GMT) |
commit | 22340be15efec420ed9366800d6c5cba8d558819 (patch) | |
tree | 1093bd982a581e27a6a01f0f9d86040ec5adc37f | |
parent | b5f91d7eb79a9d29f88a5fabf7e9a70b41820107 (diff) | |
parent | e26d3af7ee5b8ce804786d31ecfda173d92d7ab0 (diff) | |
download | cpython-22340be15efec420ed9366800d6c5cba8d558819.zip cpython-22340be15efec420ed9366800d6c5cba8d558819.tar.gz cpython-22340be15efec420ed9366800d6c5cba8d558819.tar.bz2 |
Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD()
method doesn't require an argument again.
-rw-r--r-- | Lib/test/test_pyexpat.py | 10 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/pyexpat.c | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py index 27eecb8..117bda0 100644 --- a/Lib/test/test_pyexpat.py +++ b/Lib/test/test_pyexpat.py @@ -641,6 +641,16 @@ class ForeignDTDTests(unittest.TestCase): parser.Parse("<?xml version='1.0'?><element/>") self.assertEqual(handler_call_args, [(None, None)]) + # test UseForeignDTD() is equal to UseForeignDTD(True) + handler_call_args[:] = [] + + parser = expat.ParserCreate() + parser.UseForeignDTD() + parser.SetParamEntityParsing(expat.XML_PARAM_ENTITY_PARSING_ALWAYS) + parser.ExternalEntityRefHandler = resolve_entity + parser.Parse("<?xml version='1.0'?><element/>") + self.assertEqual(handler_call_args, [(None, None)]) + def test_ignore_use_foreign_dtd(self): """ If UseForeignDTD is passed True and a document with an external @@ -71,6 +71,9 @@ Library Extension Modules ----------------- +- Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() + method doesn't require an argument again. + Tests ----- diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index bd27268..3f59f0f 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -1035,7 +1035,7 @@ xmlparse_UseForeignDTD(xmlparseobject *self, PyObject *args) { int flag = 1; enum XML_Error rc; - if (!PyArg_ParseTuple(args, "p:UseForeignDTD", &flag)) + if (!PyArg_ParseTuple(args, "|p:UseForeignDTD", &flag)) return NULL; rc = XML_UseForeignDTD(self->itself, flag ? XML_TRUE : XML_FALSE); if (rc != XML_ERROR_NONE) { |