aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2007-07-01 21:58:22 +0000
committerWalter Dörwald <walter@livinglogic.de>2007-07-01 21:58:22 +0000
commitd09413012cb6b03fdae1439eaacc6076ce09f7b7 (patch)
treefb5203b5a4042d60042c89ce8a5c88e19daceb42 /Python/modsupport.c
parentFix a failure that was only apparent on big-endian machines: (diff)
downloadcpython-d09413012cb6b03fdae1439eaacc6076ce09f7b7.tar.gz
cpython-d09413012cb6b03fdae1439eaacc6076ce09f7b7.tar.bz2
cpython-d09413012cb6b03fdae1439eaacc6076ce09f7b7.zip
Revert r56044 (which changed the %c format specifier to accept a
unicode char into an int variable) and add %C which does this.
Diffstat (limited to 'Python/modsupport.c')
-rw-r--r--Python/modsupport.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Python/modsupport.c b/Python/modsupport.c
index ba464099dd5..330da5fe800 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -385,6 +385,12 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags)
case 'c':
{
+ char p[1];
+ p[0] = (char)va_arg(*p_va, int);
+ return PyString_FromStringAndSize(p, 1);
+ }
+ case 'C':
+ {
int i = va_arg(*p_va, int);
Py_UNICODE c;
if (i < 0 || i > PyUnicode_GetMax()) {