@@ -768,7 +768,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
768768 else if (PyUnicode_Check (arg ) &&
769769 PyUnicode_GET_SIZE (arg ) == 1 &&
770770 PyUnicode_AS_UNICODE (arg )[0 ] < 256 )
771- * p = PyUnicode_AS_UNICODE (arg )[0 ];
771+ * p = ( char ) PyUnicode_AS_UNICODE (arg )[0 ];
772772 else
773773 return converterr ("char < 256" , arg , msgbuf , bufsize );
774774 break ;
@@ -823,7 +823,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
823823 }
824824 else
825825 return converterr ("string" , arg , msgbuf , bufsize );
826- if ((Py_ssize_t )strlen (* p ) != PyString_Size (arg ))
826+ if ((Py_ssize_t )strlen (* p ) != PyUnicode_GetSize (arg ))
827827 return converterr ("string without null bytes" ,
828828 arg , msgbuf , bufsize );
829829 }
@@ -899,7 +899,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
899899 format ++ ;
900900 }
901901 else if (* p != NULL &&
902- (Py_ssize_t )strlen (* p ) != PyString_Size (arg ))
902+ (Py_ssize_t )strlen (* p ) != PyUnicode_GetSize (arg ))
903903 return converterr (
904904 "string without null bytes or None" ,
905905 arg , msgbuf , bufsize );
@@ -1596,7 +1596,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format,
15961596 "keywords must be strings" );
15971597 return cleanreturn (0 , freelist );
15981598 }
1599- ks = PyString_AsString (key );
1599+ ks = PyUnicode_AsString (key );
16001600 for (i = 0 ; i < max ; i ++ ) {
16011601 if (!strcmp (ks , kwlist [i ])) {
16021602 match = 1 ;
0 commit comments