[Python-checkins] cpython: faulthandler: enhance dump_ascii() to escape also non-printable ASCII

victor.stinner python-checkins at python.org
Fri Oct 3 14:18:16 CEST 2014


https://hg.python.org/cpython/rev/f96b8be9e823
changeset: 92768:f96b8be9e823
user: Victor Stinner <victor.stinner at gmail.com>
date: Fri Oct 03 14:18:09 2014 +0200
summary:
 faulthandler: enhance dump_ascii() to escape also non-printable ASCII
characters (U+0000..U+001f and U+007f).
files:
 Python/traceback.c | 9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/Python/traceback.c b/Python/traceback.c
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -541,15 +541,16 @@
 ch = PyUnicode_READ(kind, data, i);
 else
 ch = wstr[i];
- if (ch < 128) {
+ if (' ' <= ch && ch <= 126) {
+ /* printable ASCII character */
 char c = (char)ch;
 write(fd, &c, 1);
 }
- else if (ch < 0xff) {
+ else if (ch <= 0xff) {
 PUTS(fd, "\\x");
 dump_hexadecimal(fd, ch, 2);
 }
- else if (ch < 0xffff) {
+ else if (ch <= 0xffff) {
 PUTS(fd, "\\u");
 dump_hexadecimal(fd, ch, 4);
 }
@@ -644,7 +645,7 @@
 PUTS(fd, "Current thread 0x");
 else
 PUTS(fd, "Thread 0x");
- dump_hexadecimal(fd, (unsigned long)tstate->thread_id, sizeof(long)*2);
+ dump_hexadecimal(fd, (unsigned long)tstate->thread_id, sizeof(unsigned long)*2);
 PUTS(fd, " (most recent call first):\n");
 }
 
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

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