Kaydet (Commit) 57fa0ab8 authored tarafından Nick Coghlan's avatar Nick Coghlan Kaydeden (comit) larryhastings

[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
üst 4a4c2743
...@@ -405,16 +405,20 @@ utf8_toUtf8(const ENCODING *UNUSED_P(enc), ...@@ -405,16 +405,20 @@ utf8_toUtf8(const ENCODING *UNUSED_P(enc),
} }
/* Avoid copying partial characters (from incomplete input). */ /* Avoid copying partial characters (from incomplete input). */
const char * const fromLimBefore = fromLim; {
align_limit_to_full_utf8_characters(*fromP, &fromLim); const char * const fromLimBefore = fromLim;
if (fromLim < fromLimBefore) { align_limit_to_full_utf8_characters(*fromP, &fromLim);
input_incomplete = true; if (fromLim < fromLimBefore) {
input_incomplete = true;
}
} }
const ptrdiff_t bytesToCopy = fromLim - *fromP; {
memcpy((void *)*toP, (const void *)*fromP, (size_t)bytesToCopy); const ptrdiff_t bytesToCopy = fromLim - *fromP;
*fromP += bytesToCopy; memcpy((void *)*toP, (const void *)*fromP, (size_t)bytesToCopy);
*toP += bytesToCopy; *fromP += bytesToCopy;
*toP += bytesToCopy;
}
if (output_exhausted) // needs to go first if (output_exhausted) // needs to go first
return XML_CONVERT_OUTPUT_EXHAUSTED; return XML_CONVERT_OUTPUT_EXHAUSTED;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment