From: Per Bothner Date: Tue, 10 Sep 2002 07:02:28 +0000 (-0700) Subject: print-tree.c (print_node): In a STRING_CST... X-Git-Tag: releases/gcc-3.3.0~2926 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9038942205905e09e2a38c0c6c8d342ec7fd25d1;p=thirdparty%2Fgcc.git print-tree.c (print_node): In a STRING_CST... * print-tree.c (print_node): In a STRING_CST, escape non-ascii characters, and only print TREE_STRING_LENGTH chars. From-SVN: r56994 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3daf7425a0fa..fb214bdd22b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-09-09 Per Bothner + + * print-tree.c (print_node): In a STRING_CST, escape non-ascii + characters, and only print TREE_STRING_LENGTH chars. + 2002-09-09 Steve Ellcey * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true. diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 949b7f51be09..bb03d81f2a83 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -711,7 +711,20 @@ print_node (file, prefix, node, indent) break; case STRING_CST: - fprintf (file, " \"%s\"", TREE_STRING_POINTER (node)); + { + const char *p = TREE_STRING_POINTER (node); + int i = TREE_STRING_LENGTH (node); + fputs (" \"", file); + while (--i >= 0) + { + char ch = *p++; + if (ch >= ' ' && ch < 127) + putc (ch, file); + else + fprintf(file, "\\%03o", ch & 0xFF); + } + fputc ('\"', file); + } /* Print the chain at second level. */ if (indent == 4) print_node (file, "chain", TREE_CHAIN (node), indent + 4);