From 832ab03e46f4217f7949cc3ff30b7f9e175e4eb8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 29 Jul 2020 18:46:04 -0500 Subject: [PATCH] kernel name filtering fix - handling [] brakets Change-Id: I46a62d991a52045694640837393df229cf7a3133 [ROCm/rocprofiler commit: 7364edcc5bbd1519f61c16128695228b7d41ec9e] --- projects/rocprofiler/test/tool/tool.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/projects/rocprofiler/test/tool/tool.cpp b/projects/rocprofiler/test/tool/tool.cpp index 7f2291244d..865710e57c 100644 --- a/projects/rocprofiler/test/tool/tool.cpp +++ b/projects/rocprofiler/test/tool/tool.cpp @@ -212,6 +212,14 @@ std::string filtr_kernel_name(const std::string name) { open_token = '>'; close_token = '<'; break; + case ']': + counter = 1; + open_token = ']'; + close_token = '['; + break; + case ' ': + ++rit; + continue; } if (counter == 0) break; } else { @@ -220,9 +228,8 @@ std::string filtr_kernel_name(const std::string name) { } ++rit; } - while (rit != rend) if ((*rit == ' ') || (*rit == ' ')) rit++; else break; auto rbeg = rit; - while (rit != rend) if ((*rit != ' ') && (*rit != ':')) rit++; else break; + while ((rit != rend) && (*rit != ' ') && (*rit != ':')) rit++; const uint32_t pos = rend - rit; const uint32_t length = rit - rbeg; return name.substr(pos, length);