From 483b7b7bd8ffdb5719245709a48eb6dbfcbfdb3f Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Wed, 21 May 2025 12:12:08 +0200 Subject: [PATCH] ide: Clang ubuntu workaround optimised --- uppsrc/ide/clang/Visitor.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/uppsrc/ide/clang/Visitor.cpp b/uppsrc/ide/clang/Visitor.cpp index 88f5d6a47..928437741 100644 --- a/uppsrc/ide/clang/Visitor.cpp +++ b/uppsrc/ide/clang/Visitor.cpp @@ -131,12 +131,11 @@ String ClangCursorInfo::Id() p++; m = CleanupId(p); { // remove any scope - int p = m.Find('('); - for(;;) { - int q = m.Find("::"); - if(q < 0 || q >= p) - break; - m = m.Mid(q + 2); + int q = m.Find('('); + if(q >= 0) { + q = m.ReverseFind("::", q); + if(q >= 0) + m = m.Mid(q + 2); } } while(findarg(m[q], ':', '*', '&', '(', ')', ' ') >= 0)