Fix PyUnicode_CHARACTER_SIZE and PyUnicode_KIND_SIZE

This commit is contained in:
Victor Stinner 2011-10-06 15:54:53 +02:00
parent 1d4bd25f56
commit b066cc6aba
1 changed files with 2 additions and 2 deletions

View File

@ -441,7 +441,7 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type;
See also PyUnicode_KIND_SIZE(). */
#define PyUnicode_CHARACTER_SIZE(op) \
((Py_ssize_t) (1 << (PyUnicode_KIND(op) - 1)))
(((Py_ssize_t)1 << (PyUnicode_KIND(op) - 1)))
/* Return pointers to the canonical representation cast to unsigned char,
Py_UCS2, or Py_UCS4 for direct character access.
@ -478,7 +478,7 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type;
See also PyUnicode_CHARACTER_SIZE(). */
#define PyUnicode_KIND_SIZE(kind, index) \
((Py_ssize_t) ((index) << ((kind) - 1)))
(((Py_ssize_t)(index)) << ((kind) - 1))
/* In the access macros below, "kind" may be evaluated more than once.
All other macro parameters are evaluated exactly once, so it is safe