summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/unicodeobject.h5
-rw-r--r--Objects/stringlib/unicode_format.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 75dec86..2520798 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -441,7 +441,7 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type;
See also PyUnicode_KIND_SIZE(). */
#define PyUnicode_CHARACTER_SIZE(op) \
- (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.
@@ -477,7 +477,8 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type;
The index is a character index, the result is a size in bytes.
See also PyUnicode_CHARACTER_SIZE(). */
-#define PyUnicode_KIND_SIZE(kind, index) ((index) << ((kind) - 1))
+#define PyUnicode_KIND_SIZE(kind, index) \
+ ((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
diff --git a/Objects/stringlib/unicode_format.h b/Objects/stringlib/unicode_format.h
index 81a1ff2..5f8d24d 100644
--- a/Objects/stringlib/unicode_format.h
+++ b/Objects/stringlib/unicode_format.h
@@ -56,7 +56,7 @@ AutoNumber_Init(AutoNumber *auto_number)
/* fill in a SubString from a pointer and length */
Py_LOCAL_INLINE(void)
-SubString_init(SubString *str, PyObject *s, int start, int end)
+SubString_init(SubString *str, PyObject *s, Py_ssize_t start, Py_ssize_t end)
{
str->str = s;
str->start = start;