From 32751f683f0ef5c7904dba076d3c724a74e0f1a7 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Tue, 21 Feb 2023 17:35:55 +0100 Subject: [PATCH] Maintain constness of accessed XmlRpcValue struct Return value should not change constness of this pointer! --- utilities/xmlrpcpp/include/xmlrpcpp/XmlRpcValue.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/xmlrpcpp/include/xmlrpcpp/XmlRpcValue.h b/utilities/xmlrpcpp/include/xmlrpcpp/XmlRpcValue.h index 4aa560849a..b2d4c11b89 100644 --- a/utilities/xmlrpcpp/include/xmlrpcpp/XmlRpcValue.h +++ b/utilities/xmlrpcpp/include/xmlrpcpp/XmlRpcValue.h @@ -105,9 +105,9 @@ namespace XmlRpc { XmlRpcValue const& operator[](int i) const { assertArray(i+1); return _value.asArray->at(i); } XmlRpcValue& operator[](int i) { assertArray(i+1); return _value.asArray->at(i); } - XmlRpcValue& operator[](std::string const& k) const { assertStruct(); return (*_value.asStruct)[k]; } + XmlRpcValue const& operator[](std::string const& k) const { assertStruct(); return _value.asStruct->at(k); } XmlRpcValue& operator[](std::string const& k) { assertStruct(); return (*_value.asStruct)[k]; } - XmlRpcValue& operator[](const char* k) const { assertStruct(); std::string s(k); return (*_value.asStruct)[s]; } + XmlRpcValue const& operator[](const char* k) const { assertStruct(); std::string s(k); return _value.asStruct->at(s); } XmlRpcValue& operator[](const char* k) { assertStruct(); std::string s(k); return (*_value.asStruct)[s]; } iterator begin() {assertStruct(); return (*_value.asStruct).begin(); }