summaryrefslogtreecommitdiff
path: root/Python/traceback.c
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-08-26 01:33:30 +0300
committerEzio Melotti <ezio.melotti@gmail.com>2013-08-26 01:33:30 +0300
commitcdef59b761d57045069f73d399313ea256431ac7 (patch)
treed21bea56f874517c6702961c5a6654725474e71f /Python/traceback.c
parent9a3c839867c75374dfc3ad1d36e34e61b17a009b (diff)
parent4e8edc666b9e76e4db18b97fdfa9ea342f5a49f2 (diff)
downloadcpython-cdef59b761d57045069f73d399313ea256431ac7.tar.gz
#18803: merge with 3.3.
Diffstat (limited to 'Python/traceback.c')
-rw-r--r--Python/traceback.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Python/traceback.c b/Python/traceback.c
index 74075c9481..4f2e732779 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -13,7 +13,7 @@
#define OFF(x) offsetof(PyTracebackObject, x)
-#define PUTS(fd, str) write(fd, str, strlen(str))
+#define PUTS(fd, str) write(fd, str, (int)strlen(str))
#define MAX_STRING_LENGTH 500
#define MAX_FRAME_DEPTH 100
#define MAX_NTHREADS 100
@@ -246,10 +246,12 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
binary = _PyObject_CallMethodId(io, &PyId_open, "Os", filename, "rb");
if (binary == NULL) {
+ PyErr_Clear();
+
binary = _Py_FindSourceFile(filename, buf, sizeof(buf), io);
if (binary == NULL) {
Py_DECREF(io);
- return 0;
+ return -1;
}
}