From: Nick Coghlan Date: Tue, 23 Jan 2018 10:24:39 +0000 (+1000) Subject: [3.5] bpo-32563: Get expat to compile under C89 (#5201) X-Git-Tag: v3.5.5rc1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57fa0ab8911a70d91e5b60b8dc91f1085442a9e7;p=thirdparty%2FPython%2Fcpython.git [3.5] bpo-32563: Get expat to compile under C89 (#5201) * [3.5] bpo-32563: Get expat to compile under C89 expat: Add artificial scopes in xmltok.c utf8_toUtf8() to fix c89 compilation. Cherry-picked from libexpat commit e0b290eb3d8f4c4b45137a7d7f4f8db812145bd2 * Backport XML RPC test skip to 3.5 The buildbot service upgrade removed the XML-RPC interface, so this test no longer works (through no fault of the standard library). * Don't configure a nonexistent Python --- diff --git a/Modules/expat/xmltok.c b/Modules/expat/xmltok.c index 007aed0640a2..70663ce9d4b8 100644 --- a/Modules/expat/xmltok.c +++ b/Modules/expat/xmltok.c @@ -405,16 +405,20 @@ utf8_toUtf8(const ENCODING *UNUSED_P(enc), } /* Avoid copying partial characters (from incomplete input). */ - const char * const fromLimBefore = fromLim; - align_limit_to_full_utf8_characters(*fromP, &fromLim); - if (fromLim < fromLimBefore) { - input_incomplete = true; + { + const char * const fromLimBefore = fromLim; + align_limit_to_full_utf8_characters(*fromP, &fromLim); + if (fromLim < fromLimBefore) { + input_incomplete = true; + } } - const ptrdiff_t bytesToCopy = fromLim - *fromP; - memcpy((void *)*toP, (const void *)*fromP, (size_t)bytesToCopy); - *fromP += bytesToCopy; - *toP += bytesToCopy; + { + const ptrdiff_t bytesToCopy = fromLim - *fromP; + memcpy((void *)*toP, (const void *)*fromP, (size_t)bytesToCopy); + *fromP += bytesToCopy; + *toP += bytesToCopy; + } if (output_exhausted) // needs to go first return XML_CONVERT_OUTPUT_EXHAUSTED;