diff options
author | Gregory P. Smith <greg@krypto.org> | 2012-03-15 01:10:37 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@krypto.org> | 2012-03-15 01:10:37 (GMT) |
commit | c73f6dab11030c9f0071d25c1636184c909696e1 (patch) | |
tree | 63162151bdf743a1bb47ec802738467801a50dea /Modules | |
parent | a5d729a7f7ad1886b34302e8c9f6034a3f3dd1d9 (diff) | |
download | cpython-c73f6dab11030c9f0071d25c1636184c909696e1.zip cpython-c73f6dab11030c9f0071d25c1636184c909696e1.tar.gz cpython-c73f6dab11030c9f0071d25c1636184c909696e1.tar.bz2 |
Fixes Issue 14234: fix for the previous commit, keep compilation when
using --with-system-expat working when the system expat does not have
salted hash support.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/expat/expat.h | 2 | ||||
-rw-r--r-- | Modules/pyexpat.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Modules/expat/expat.h b/Modules/expat/expat.h index cffdb8f..89646d2 100644 --- a/Modules/expat/expat.h +++ b/Modules/expat/expat.h @@ -892,6 +892,8 @@ XMLPARSEAPI(int) XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt); +#define XML_HAS_SET_HASH_SALT /* Python Only: Defined for pyexpat.c. */ + /* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then XML_GetErrorCode returns information about the error. */ diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index c1142de..bf81e2a 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -1150,8 +1150,13 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern) else { self->itself = XML_ParserCreate(encoding); } +#if ((XML_MAJOR_VERSION >= 2) && (XML_MINOR_VERSION >= 1)) || defined(XML_HAS_SET_HASH_SALT) + /* This feature was added upstream in libexpat 2.1.0. Our expat copy + * has a backport of this feature where we also define XML_HAS_SET_HASH_SALT + * to indicate that we can still use it. */ XML_SetHashSalt(self->itself, (unsigned long)_Py_HashSecret.prefix); +#endif self->intern = intern; Py_XINCREF(self->intern); PyObject_GC_Track(self); |