diff --git a/src/Message.cpp b/src/Message.cpp index 1ef97edd..5be5e1ed 100644 --- a/src/Message.cpp +++ b/src/Message.cpp @@ -52,7 +52,7 @@ CString CMessage::GetParams(unsigned int uIdx, unsigned int uLen) const { if (m_vsParams.empty() || uLen == 0) { return ""; } - if (uLen + uIdx + 1 > m_vsParams.size()) { + if (uLen > m_vsParams.size() - uIdx - 1) { uLen = m_vsParams.size() - uIdx; } VCString vsParams; diff --git a/src/Template.cpp b/src/Template.cpp index f559acc9..3eb4a772 100644 --- a/src/Template.cpp +++ b/src/Template.cpp @@ -72,13 +72,13 @@ CString CTemplateLoopContext::GetValue(const CString& sName, bool bFromIf) { } else if (sName.Equals("__FIRST__")) { return ((GetRowIndex() == 0) ? "1" : ""); } else if (sName.Equals("__LAST__")) { - return ((GetRowIndex() + 1 == m_pvRows->size()) ? "1" : ""); + return ((GetRowIndex() == m_pvRows->size() - 1) ? "1" : ""); } else if (sName.Equals("__OUTER__")) { - return ((GetRowIndex() == 0 || GetRowIndex() + 1 == m_pvRows->size()) + return ((GetRowIndex() == 0 || GetRowIndex() == m_pvRows->size() - 1) ? "1" : ""); } else if (sName.Equals("__INNER__")) { - return ((GetRowIndex() == 0 || GetRowIndex() + 1 == m_pvRows->size()) + return ((GetRowIndex() == 0 || GetRowIndex() == m_pvRows->size() - 1) ? "" : "1"); }