Display a "plugin not found" error message when a invalid command looks like a plugin call.

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6541 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2014-08-21 13:15:07 +00:00
parent 5ae69eb9cc
commit d42a4f16a6
5 changed files with 34 additions and 15 deletions

View file

@ -51,8 +51,9 @@ bool contains(const C& cntnr, const K& key)
template <class C, class K>
const typename C::const_iterator get_iterator(const C& cntnr, const K& key)
{
assert( contains(cntnr, key) );
return cntnr.find(key);
const typename C::const_iterator it = cntnr.find(key);
assert(cntnr.end() != it);
return it;
}
template <class C, class K>
@ -245,6 +246,16 @@ bool Plugins::IsPluginCommand(const tstring& token) const
return contains(m_commands, token);
}
bool Plugins::IsKnownPlugin(const tstring& token) const
{
const tstring dllname = GetDllName(token);
return contains(m_dllname_to_path, dllname);
}
bool Plugins::IsPluginCallSyntax(const tstring& token)
{
const tstring dllname = GetDllName(token);
return dllname.length() + 2 < token.length();
}
#endif