Simplify loop in pp_write_text_as_dot_label_to_stream
authorTom de Vries <tom@codesourcery.com>
Sun, 17 Apr 2016 05:22:45 +0000 (05:22 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sun, 17 Apr 2016 05:22:45 +0000 (05:22 +0000)
2016-04-17  Tom de Vries  <tom@codesourcery.com>

* pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
structure.

From-SVN: r235075

gcc/ChangeLog
gcc/pretty-print.c

index 2a20ceee5ba6898941d58d30f30191d4bf5bb23c..2bd0d6fb6d08342d4e0f9010071e5d74217c0f0b 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+       * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
+       structure.
+
 2016-04-17  Tom de Vries  <tom@codesourcery.com>
 
        PR other/70185
index acb89e6c8b9a98d9fd9e87b78faf4586a0290f3a..f6e4b43d9fbcddf1fd7df35c621e8ffa002387c4 100644 (file)
@@ -159,20 +159,20 @@ pp_write_text_as_dot_label_to_stream (pretty_printer *pp, bool for_record)
   const char *p = text;
   FILE *fp = pp_buffer (pp)->stream;
 
-  while (*p)
+  for (;*p; p++)
     {
+      bool escape_char;
       switch (*p)
        {
        /* Print newlines as a left-aligned newline.  */
        case '\n':
-         fputs ("\\l\\\n", fp);
+         fputs ("\\l", fp);
+         escape_char = true;
          break;
 
        /* A pipe is only special for record-shape nodes.  */
        case '|':
-         if (for_record)
-           fputc ('\\', fp);
-         fputc (*p, fp);
+         escape_char = for_record;
          break;
 
        /* The following characters always have to be escaped
@@ -183,13 +183,18 @@ pp_write_text_as_dot_label_to_stream (pretty_printer *pp, bool for_record)
        case '>':
        case '"':
        case ' ':
-         fputc ('\\', fp);
-         /* fall through */
+         escape_char = true;
+         break;
+
        default:
-         fputc (*p, fp);
+         escape_char = false;
          break;
        }
-      p++;
+
+      if (escape_char)
+       fputc ('\\', fp);
+
+      fputc (*p, fp);
     }
 
   pp_clear_output_area (pp);