diff options
| author | Christian Heimes <christian@cheimes.de> | 2012-09-24 13:17:08 +0200 | 
|---|---|---|
| committer | Christian Heimes <christian@cheimes.de> | 2012-09-24 13:17:08 +0200 | 
| commit | e26d3af7ee5b8ce804786d31ecfda173d92d7ab0 (patch) | |
| tree | b249f6950422d62999443fdb56d499f8b7e27f1d | |
| parent | 6f80f5d4446f06d15274ad519cae6929a3565cc0 (diff) | |
| download | cpython-git-e26d3af7ee5b8ce804786d31ecfda173d92d7ab0.tar.gz | |
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 27eecb8d83..117bda0c9d 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 @@ -482,6 +482,9 @@ Library  Extension Modules  ----------------- +- Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() +  method doesn't require an argument again. +  - Issue #15676: Now "mmap" check for empty files before doing the    offset check.  Patch by Steven Willis. diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index c965ff4aa0..4b9687a051 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -1035,7 +1035,7 @@ xmlparse_UseForeignDTD(xmlparseobject *self, PyObject *args)      PyObject *flagobj = NULL;      int flag = 1;      enum XML_Error rc; -    if (!PyArg_ParseTuple(args, "O:UseForeignDTD", &flagobj)) +    if (!PyArg_ParseTuple(args, "|O:UseForeignDTD", &flagobj))          return NULL;      if (flagobj != NULL) {          flag = PyObject_IsTrue(flagobj);  | 
