opensaf: fix build error by adding const to comparators

Comparator objects used in standard containers (such as std::set)
must be invocable as const. Opensaf contains several comparators
that lack the 'const' qualifier, leading to compilation failures like:

  error: passing 'const XxxCompare*' as 'this' argument discards qualifiers

Add a backported patch to fix the comparators in imm_xmlw_dump.cc
and amfd/node.h by adding the missing 'const' to operator().

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Wang Mingyu
2026-06-15 12:34:02 +08:00
committed by Khem Raj
parent 3755354fb2
commit f5950512e4
2 changed files with 57 additions and 0 deletions
@@ -0,0 +1,56 @@
From 5e9f2fd4c73c9e0b666290934227200f2515f206 Mon Sep 17 00:00:00 2001
From: Wang Mingyu <wangmy@fujitsu.com>
Date: Mon, 15 Jun 2026 03:32:05 +0000
Subject: [PATCH] fix NodeNameCompare const
Upstream-Status: Submitted [sourceforge]
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
src/amf/amfd/node.cc | 2 +-
src/amf/amfd/node.h | 2 +-
src/imm/tools/imm_xmlw_dump.cc | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/amf/amfd/node.cc b/src/amf/amfd/node.cc
index 04f35e7..9785a01 100644
--- a/src/amf/amfd/node.cc
+++ b/src/amf/amfd/node.cc
@@ -43,7 +43,7 @@ bool operator<(const AVD_AVND &lhs, const AVD_AVND &rhs) {
}
}
-bool NodeNameCompare::operator()(const AVD_AVND *lhs, const AVD_AVND *rhs) {
+bool NodeNameCompare::operator()(const AVD_AVND *lhs, const AVD_AVND *rhs) const {
return *lhs < *rhs;
}
diff --git a/src/amf/amfd/node.h b/src/amf/amfd/node.h
index 3456adb..c6527d5 100644
--- a/src/amf/amfd/node.h
+++ b/src/amf/amfd/node.h
@@ -170,7 +170,7 @@ struct NodeNameCompare
typedef AVD_AVND first_argument_type;
typedef AVD_AVND second_argument_type;
typedef bool result_type;
- bool operator()(const AVD_AVND *lhs, const AVD_AVND *rhs);
+ bool operator()(const AVD_AVND *lhs, const AVD_AVND *rhs) const;
};
extern AmfDb<std::string, AVD_AVND> *node_name_db;
diff --git a/src/imm/tools/imm_xmlw_dump.cc b/src/imm/tools/imm_xmlw_dump.cc
index f8474c3..2da9bef 100644
--- a/src/imm/tools/imm_xmlw_dump.cc
+++ b/src/imm/tools/imm_xmlw_dump.cc
@@ -39,7 +39,7 @@ typedef struct {
/* Comparision object for Object */
struct ObjectComp {
- bool operator()(const Object& lhs, const Object& rhs) {
+ bool operator()(const Object& lhs, const Object& rhs) const {
return (lhs.reversedDn.compare(rhs.reversedDn) < 0) ? true : false;
}
};
--
2.43.0
@@ -29,6 +29,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \ file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \
file://0002-configure-Disable-selected-warnings.patch \ file://0002-configure-Disable-selected-warnings.patch \
file://0001-To-fix-Werror-discarded-qualifiers-error.patch \ file://0001-To-fix-Werror-discarded-qualifiers-error.patch \
file://0001-fix-NodeNameCompare-const.patch \
" "
SRC_URI[sha256sum] = "c51603bc486ce6db271a7023a75963bfc6f277f4d4486df2fe004a51c81cfdee" SRC_URI[sha256sum] = "c51603bc486ce6db271a7023a75963bfc6f277f4d4486df2fe004a51c81cfdee"