From 888abcafb05f55aabb05f0d3661ede27df16c573 Mon Sep 17 00:00:00 2001
From: cmoineau <cyril.moineau@cea.fr>
Date: Fri, 20 Sep 2024 11:12:24 +0000
Subject: [PATCH] Fix attribute parsing findBestMatch + add log if
 matchingSpecs is empty.

---
 src/backend/OperatorImpl.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/OperatorImpl.cpp b/src/backend/OperatorImpl.cpp
index dd5c5c110..d2e68710b 100644
--- a/src/backend/OperatorImpl.cpp
+++ b/src/backend/OperatorImpl.cpp
@@ -128,8 +128,8 @@ Aidge::ImplSpec Aidge::OperatorImpl::getBestMatch(const ImplSpec& requiredSpecs)
             const auto qualifierPos = std::find_if(attrName.begin(), attrName.end(),
                 [](char c) { return c == ':'; });
             if (qualifierPos != attrName.end()) {
-                name = attrName.substr(0, qualifierPos - attrName.begin());
-                qualifier = attrName.substr(qualifierPos - attrName.begin() + 1);
+                name = attrName.substr(0, (qualifierPos - attrName.begin()));
+                qualifier = attrName.substr((qualifierPos - attrName.begin())+1);
             }
             const bool mandatory = (qualifier == "!");
             if (mandatory) {
-- 
GitLab