diff options
author | Eric Smith <eric@trueblade.com> | 2009-07-30 13:43:08 (GMT) |
---|---|---|
committer | Eric Smith <eric@trueblade.com> | 2009-07-30 13:43:08 (GMT) |
commit | beddd709b291e60c099551345e480424a5991e2d (patch) | |
tree | d8089882f25a511be6b66dddd1d69f58637d59e3 | |
parent | c5e2bb97065f0255abf166dc0bca4cab70d33d68 (diff) | |
download | cpython-beddd709b291e60c099551345e480424a5991e2d.zip cpython-beddd709b291e60c099551345e480424a5991e2d.tar.gz cpython-beddd709b291e60c099551345e480424a5991e2d.tar.bz2 |
Merged revisions 74269 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74269 | eric.smith | 2009-07-30 09:39:44 -0400 (Thu, 30 Jul 2009) | 1 line
Issue 6330: Fix --enable-unicode=ucs4.
........
-rw-r--r-- | Objects/stringlib/formatter.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/Objects/stringlib/formatter.h b/Objects/stringlib/formatter.h index 5cead66..c722460 100644 --- a/Objects/stringlib/formatter.h +++ b/Objects/stringlib/formatter.h @@ -32,7 +32,7 @@ unknown_presentation_type(STRINGLIB_CHAR presentation_type, PyErr_Format(PyExc_ValueError, "Unknown format code '%c' " "for object of type '%.200s'", - presentation_type, + (char)presentation_type, type_name); #if STRINGLIB_IS_UNICODE else @@ -44,6 +44,24 @@ unknown_presentation_type(STRINGLIB_CHAR presentation_type, #endif } +static void +invalid_comma_type(STRINGLIB_CHAR presentation_type) +{ +#if STRINGLIB_IS_UNICODE + /* See comment in unknown_presentation_type */ + if (presentation_type > 32 && presentation_type < 128) +#endif + PyErr_Format(PyExc_ValueError, + "Cannot specify ',' with '%c'.", + (char)presentation_type); +#if STRINGLIB_IS_UNICODE + else + PyErr_Format(PyExc_ValueError, + "Cannot specify ',' with '\\x%x'.", + (unsigned int)presentation_type); +#endif +} + /* get_integer consumes 0 or more decimal digit characters from an input string, updates *result with the corresponding positive @@ -253,8 +271,7 @@ parse_internal_render_format_spec(STRINGLIB_CHAR *format_spec, /* These are allowed. See PEP 378.*/ break; default: - PyErr_Format(PyExc_ValueError, - "Cannot specify ',' with '%c'.", format->type); + invalid_comma_type(format->type); return 0; } } |