From 4e4793cc591e26c788b53c487bee7cab2d377f5e Mon Sep 17 00:00:00 2001 From: weidai Date: Fri, 13 Feb 2009 12:18:26 +0000 Subject: port to Sun Studio 12's 64-bit C++ Compiler 5.9 Patch 124864-09 2008/12/16 git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@432 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- algparam.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'algparam.cpp') diff --git a/algparam.cpp b/algparam.cpp index 3c55640..c9da677 100644 --- a/algparam.cpp +++ b/algparam.cpp @@ -23,7 +23,8 @@ bool AlgorithmParametersBase::GetVoidValue(const char *name, const std::type_inf if (strcmp(name, "ValueNames") == 0) { ThrowIfTypeMismatch(name, typeid(std::string), valueType); - GetParent().GetVoidValue(name, valueType, pValue); + if (m_next.get()) + m_next->GetVoidValue(name, valueType, pValue); (*reinterpret_cast(pValue) += m_name) += ";"; return true; } @@ -33,8 +34,15 @@ bool AlgorithmParametersBase::GetVoidValue(const char *name, const std::type_inf m_used = true; return true; } + else if (m_next.get()) + return m_next->GetVoidValue(name, valueType, pValue); else - return GetParent().GetVoidValue(name, valueType, pValue); + return false; +} + +bool AlgorithmParameters::GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const +{ + return m_ptr->GetVoidValue(name, valueType, pValue); } NAMESPACE_END -- cgit v1.2.1