Mercurial > hg
changeset 33759:a22339d389d4
cext: modernize charencode.c to use Py_ssize_t
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 31 Jul 2017 22:58:06 +0900 |
parents | 0f4ac3b6dee4 |
children | cd2aca0808f8 |
files | mercurial/cext/charencode.c mercurial/cext/charencode.h mercurial/cext/parsers.c |
diffstat | 3 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cext/charencode.c Sun May 21 14:23:22 2017 +0900 +++ b/mercurial/cext/charencode.c Mon Jul 31 22:58:06 2017 +0900 @@ -7,6 +7,7 @@ the GNU General Public License, incorporated herein by reference. */ +#define PY_SSIZE_T_CLEAN #include <Python.h> #include "charencode.h" @@ -57,11 +58,11 @@ /* * Turn a hex-encoded string into binary. */ -PyObject *unhexlify(const char *str, int len) +PyObject *unhexlify(const char *str, Py_ssize_t len) { PyObject *ret; char *d; - int i; + Py_ssize_t i; ret = PyBytes_FromStringAndSize(NULL, len / 2);
--- a/mercurial/cext/charencode.h Sun May 21 14:23:22 2017 +0900 +++ b/mercurial/cext/charencode.h Mon Jul 31 22:58:06 2017 +0900 @@ -18,7 +18,7 @@ NORMCASE_OTHER = 0 }; -PyObject *unhexlify(const char *str, int len); +PyObject *unhexlify(const char *str, Py_ssize_t len); PyObject *asciilower(PyObject *self, PyObject *args); PyObject *asciiupper(PyObject *self, PyObject *args); PyObject *make_file_foldmap(PyObject *self, PyObject *args);
--- a/mercurial/cext/parsers.c Sun May 21 14:23:22 2017 +0900 +++ b/mercurial/cext/parsers.c Mon Jul 31 22:58:06 2017 +0900 @@ -85,7 +85,7 @@ nlen = newline - zero - 1; - node = unhexlify(zero + 1, nlen > 40 ? 40 : (int)nlen); + node = unhexlify(zero + 1, nlen > 40 ? 40 : (Py_ssize_t)nlen); if (!node) goto bail;