Added special escape sequences "\{", "\}", and "\|" when processing
authorTed Kremenek <kremenek@apple.com>
Wed, 23 Jan 2008 22:29:58 +0000 (22:29 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 23 Jan 2008 22:29:58 +0000 (22:29 +0000)
getNodeLabel(); these sequences allow the user to specify the characters '{',
'}', and '|' in the label, which facilitate breaking the label into multiple
record segments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46283 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/GraphWriter.h

index 97ab615339aeaee466ad9cf651705f72e2c68098..5ddc47e0a85cddab59aadacab0932c7036110455 100644 (file)
@@ -48,8 +48,13 @@ namespace DOT {  // Private functions...
         Str[i] = ' ';
         break;
       case '\\':
-        if (i+1 != Str.length() && Str[i+1] == 'l')
-          break;  // don't disturb \l
+        if (i+1 != Str.length())
+          switch (Str[i+1]) {
+            case 'l': continue; // don't disturb \l
+            case '|': case '{': case '}':
+               Str.erase(Str.begin()+i); continue;
+            default: break;
+          }
       case '{': case '}':
       case '<': case '>':
       case '|': case '"':