Escape angle brackets in dot file labels
This was a bug that meant invalid dot files were produced due to MemCopy
layers having a name including "->".
Change-Id: If9f5b13d433f6a7328bf0ad8c7ec89cdce2462b0
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
diff --git a/src/armnnUtils/DotSerializer.cpp b/src/armnnUtils/DotSerializer.cpp
index b3d3d10..1f36cf7 100644
--- a/src/armnnUtils/DotSerializer.cpp
+++ b/src/armnnUtils/DotSerializer.cpp
@@ -6,6 +6,7 @@
#include "DotSerializer.hpp"
#include <boost/assert.hpp>
+#include <boost/algorithm/string/replace.hpp>
#include <sstream>
#include <cstring>
@@ -23,6 +24,14 @@
}
return ss.str();
}
+
+std::string Escape(std::string s)
+{
+ boost::replace_all(s, "<", "\\<");
+ boost::replace_all(s, ">", "\\>");
+ return s;
+}
+
} //namespace
@@ -151,7 +160,7 @@
}
for (auto & content : m_Contents)
{
- ss << content;
+ ss << Escape(content);
ss << "\\l";
}
ss << "}\"";