From 90d297012b3848454cbd00dde954e3ea1a09e86f Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Tue, 2 Jun 2020 08:17:24 +0000 Subject: [PATCH] Fix MSVC warnings in pythonrun.c (#GH-0587) --- Python/pythonrun.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 160f44d38e2..cb0e3b02e16 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -478,9 +478,9 @@ PyRun_SimpleStringFlags(const char *command, PyCompilerFlags *flags) static int parse_syntax_error(PyObject *err, PyObject **message, PyObject **filename, - int *lineno, int *offset, PyObject **text) + Py_ssize_t *lineno, Py_ssize_t *offset, PyObject **text) { - int hold; + Py_ssize_t hold; PyObject *v; _Py_IDENTIFIER(msg); _Py_IDENTIFIER(filename); @@ -513,7 +513,7 @@ parse_syntax_error(PyObject *err, PyObject **message, PyObject **filename, v = _PyObject_GetAttrId(err, &PyId_lineno); if (!v) goto finally; - hold = _PyLong_AsInt(v); + hold = PyLong_AsSsize_t(v); Py_DECREF(v); if (hold < 0 && PyErr_Occurred()) goto finally; @@ -526,7 +526,7 @@ parse_syntax_error(PyObject *err, PyObject **message, PyObject **filename, *offset = -1; Py_DECREF(v); } else { - hold = _PyLong_AsInt(v); + hold = PyLong_AsSsize_t(v); Py_DECREF(v); if (hold < 0 && PyErr_Occurred()) goto finally; @@ -552,7 +552,7 @@ finally: } static void -print_error_text(PyObject *f, int offset, PyObject *text_obj) +print_error_text(PyObject *f, Py_ssize_t offset, PyObject *text_obj) { /* Convert text to a char pointer; return if error */ const char *text = PyUnicode_AsUTF8(text_obj); @@ -586,7 +586,7 @@ print_error_text(PyObject *f, int offset, PyObject *text_obj) break; } Py_ssize_t inl = nl - text; - if (inl >= (Py_ssize_t)offset) { + if (inl >= offset) { break; } inl += 1; @@ -833,7 +833,7 @@ print_exception(PyObject *f, PyObject *value) _PyObject_HasAttrId(value, &PyId_print_file_and_line)) { PyObject *message, *filename, *text; - int lineno, offset; + Py_ssize_t lineno, offset; if (!parse_syntax_error(value, &message, &filename, &lineno, &offset, &text)) PyErr_Clear(); @@ -843,7 +843,7 @@ print_exception(PyObject *f, PyObject *value) Py_DECREF(value); value = message; - line = PyUnicode_FromFormat(" File \"%S\", line %d\n", + line = PyUnicode_FromFormat(" File \"%S\", line %zd\n", filename, lineno); Py_DECREF(filename); if (line != NULL) {