@@ -3449,13 +3449,14 @@ PyUnicode_FromEncodedObject(PyObject *obj,
|
||||
return v;
|
||||
}
|
||||
|
||||
/* Normalize an encoding name: similar to encodings.normalize_encoding(), but
|
||||
also convert to lowercase. Return 1 on success, or 0 on error (encoding is
|
||||
longer than lower_len-1). */
|
||||
/* Normalize an encoding name like encodings.normalize_encoding()
|
||||
but allow to convert to lowercase if *to_lower* is true.
|
||||
Return 1 on success, or 0 on error (encoding is longer than lower_len-1). */
|
||||
int
|
||||
_Py_normalize_encoding(const char *encoding,
|
||||
char *lower,
|
||||
size_t lower_len)
|
||||
size_t lower_len,
|
||||
int to_lower)
|
||||
{
|
||||
const char *e;
|
||||
char *l;
|
||||
@@ -3486,7 +3487,7 @@ _Py_normalize_encoding(const char *encoding,
|
||||
if (l == l_end) {
|
||||
return 0;
|
||||
}
|
||||
*l++ = Py_TOLOWER(c);
|
||||
*l++ = to_lower ? Py_TOLOWER(c) : c;
|
||||
}
|
||||
else {
|
||||
punct = 1;
|
||||
@@ -3521,7 +3522,7 @@ PyUnicode_Decode(const char *s,
|
||||
}
|
||||
|
||||
/* Shortcuts for common default encodings */
|
||||
if (_Py_normalize_encoding(encoding, buflower, sizeof(buflower))) {
|
||||
if (_Py_normalize_encoding(encoding, buflower, sizeof(buflower), 1)) {
|
||||
char *lower = buflower;
|
||||
|
||||
/* Fast paths */
|
||||
@@ -3778,7 +3779,7 @@ PyUnicode_AsEncodedString(PyObject *unicode,
|
||||
}
|
||||
|
||||
/* Shortcuts for common default encodings */
|
||||
if (_Py_normalize_encoding(encoding, buflower, sizeof(buflower))) {
|
||||
if (_Py_normalize_encoding(encoding, buflower, sizeof(buflower), 1)) {
|
||||
char *lower = buflower;
|
||||
|
||||
/* Fast paths */
|
||||
|
||||
Reference in New Issue
Block a user