diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2012-04-23 21:36:38 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2012-04-23 21:36:38 (GMT) |
commit | ece58deb9fd72674b84ef7a01c944b5eed6b37a1 (patch) | |
tree | 040cbeefd99fc35b73a9a9505efb58a61177eda4 /Python | |
parent | 0b7d7c95448e157d4376751add831aecbd53808e (diff) | |
download | cpython-ece58deb9fd72674b84ef7a01c944b5eed6b37a1.zip cpython-ece58deb9fd72674b84ef7a01c944b5eed6b37a1.tar.gz cpython-ece58deb9fd72674b84ef7a01c944b5eed6b37a1.tar.bz2 |
Close #14648: Compute correctly maxchar in str.format() for substrin
Diffstat (limited to 'Python')
-rw-r--r-- | Python/formatter_unicode.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Python/formatter_unicode.c b/Python/formatter_unicode.c index 5e5b19f..e1c00df 100644 --- a/Python/formatter_unicode.c +++ b/Python/formatter_unicode.c @@ -716,7 +716,7 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format) Py_ssize_t pos; Py_ssize_t len = PyUnicode_GET_LENGTH(value); PyObject *result = NULL; - Py_UCS4 maxchar = 127; + Py_UCS4 maxchar; /* sign is not allowed on strings */ if (format->sign != '\0') { @@ -747,11 +747,9 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format) len = format->precision; } - if (len) - maxchar = PyUnicode_MAX_CHAR_VALUE(value); - calc_padding(len, format->width, format->align, &lpad, &rpad, &total); + maxchar = _PyUnicode_FindMaxChar(value, 0, len); if (lpad != 0 || rpad != 0) maxchar = Py_MAX(maxchar, format->fill_char); |