diff options
author | weidai <weidai11@users.noreply.github.com> | 2009-02-13 12:18:26 +0000 |
---|---|---|
committer | weidai <weidai11@users.noreply.github.com> | 2009-02-13 12:18:26 +0000 |
commit | fa25129ac981ceed9569496c02b83771b394fa40 (patch) | |
tree | ad72361b06ff671420b32b70bab9081ad2d7be32 /algparam.cpp | |
parent | eb5732337be02e36c8f5293a2d22d8f74130e684 (diff) | |
download | cryptopp-git-fa25129ac981ceed9569496c02b83771b394fa40.tar.gz |
port to Sun Studio 12's 64-bit C++ Compiler 5.9 Patch 124864-09 2008/12/16
Diffstat (limited to 'algparam.cpp')
-rw-r--r-- | algparam.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/algparam.cpp b/algparam.cpp index 3c556408..c9da677d 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<std::string *>(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 |