[Python-checkins] cpython: modsupport: replace int with Py_ssize_t

victor.stinner python-checkins at python.org
Thu Dec 8 20:16:59 EST 2016


https://hg.python.org/cpython/rev/dd0d162593c5
changeset: 105534:dd0d162593c5
user: Victor Stinner <victor.stinner at gmail.com>
date: Fri Dec 09 00:24:47 2016 +0100
summary:
 modsupport: replace int with Py_ssize_t
Issue #28915.
files:
 Python/modsupport.c | 37 +++++++++++++++++---------------
 1 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/Python/modsupport.c b/Python/modsupport.c
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -13,10 +13,10 @@
 
 /* Helper for mkvalue() to scan the length of a format */
 
-static int
+static Py_ssize_t
 countformat(const char *format, int endchar)
 {
- int count = 0;
+ Py_ssize_t count = 0;
 int level = 0;
 while (level > 0 || *format != endchar) {
 switch (*format) {
@@ -28,8 +28,9 @@
 case '(':
 case '[':
 case '{':
- if (level == 0)
+ if (level == 0) {
 count++;
+ }
 level++;
 break;
 case ')':
@@ -45,8 +46,9 @@
 case '\t':
 break;
 default:
- if (level == 0)
+ if (level == 0) {
 count++;
+ }
 }
 format++;
 }
@@ -57,17 +59,17 @@
 /* Generic function to create a value -- the inverse of getargs() */
 /* After an original idea and first implementation by Steven Miale */
 
-static PyObject *do_mktuple(const char**, va_list *, int, int, int);
-static PyObject *do_mklist(const char**, va_list *, int, int, int);
-static PyObject *do_mkdict(const char**, va_list *, int, int, int);
+static PyObject *do_mktuple(const char**, va_list *, int, Py_ssize_t, int);
+static PyObject *do_mklist(const char**, va_list *, int, Py_ssize_t, int);
+static PyObject *do_mkdict(const char**, va_list *, int, Py_ssize_t, int);
 static PyObject *do_mkvalue(const char**, va_list *, int);
 
 
 static void
-do_ignore(const char **p_format, va_list *p_va, int endchar, int n, int flags)
+do_ignore(const char **p_format, va_list *p_va, int endchar, Py_ssize_t n, int flags)
 {
 PyObject *v;
- int i;
+ Py_ssize_t i;
 assert(PyErr_Occurred());
 v = PyTuple_New(n);
 for (i = 0; i < n; i++) {
@@ -91,15 +93,16 @@
 "Unmatched paren in format");
 return;
 }
- if (endchar)
+ if (endchar) {
 ++*p_format;
+ }
 }
 
 static PyObject *
-do_mkdict(const char **p_format, va_list *p_va, int endchar, int n, int flags)
+do_mkdict(const char **p_format, va_list *p_va, int endchar, Py_ssize_t n, int flags)
 {
 PyObject *d;
- int i;
+ Py_ssize_t i;
 if (n < 0)
 return NULL;
 if (n % 2) {
@@ -146,10 +149,10 @@
 }
 
 static PyObject *
-do_mklist(const char **p_format, va_list *p_va, int endchar, int n, int flags)
+do_mklist(const char **p_format, va_list *p_va, int endchar, Py_ssize_t n, int flags)
 {
 PyObject *v;
- int i;
+ Py_ssize_t i;
 if (n < 0)
 return NULL;
 /* Note that we can't bail immediately on error as this will leak
@@ -180,10 +183,10 @@
 }
 
 static PyObject *
-do_mktuple(const char **p_format, va_list *p_va, int endchar, int n, int flags)
+do_mktuple(const char **p_format, va_list *p_va, int endchar, Py_ssize_t n, int flags)
 {
 PyObject *v;
- int i;
+ Py_ssize_t i;
 if (n < 0)
 return NULL;
 /* Note that we can't bail immediately on error as this will leak
@@ -465,7 +468,7 @@
 va_build_value(const char *format, va_list va, int flags)
 {
 const char *f = format;
- int n = countformat(f, '0円');
+ Py_ssize_t n = countformat(f, '0円');
 va_list lva;
 PyObject *retval;
 
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /