diff options
author | Stijn Buys <ingar@osirion.org> | 2008-02-05 22:23:15 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-02-05 22:23:15 +0000 |
commit | 1ed2e8eb1f1909a35f6fc8d5d6065bcac37c27ea (patch) | |
tree | bb1007c12c205b265c1e7515cdc7924496e19cf3 /src/core/func.cc | |
parent | a51deebd87036ceb87c77a20117977d077b771e3 (diff) |
keyboard handling, cvar fixes
Diffstat (limited to 'src/core/func.cc')
-rw-r--r-- | src/core/func.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/core/func.cc b/src/core/func.cc index c1ed826..c72faea 100644 --- a/src/core/func.cc +++ b/src/core/func.cc @@ -14,34 +14,39 @@ namespace core namespace func { -std::map<std::string, Func> funcregistry; +std::map<std::string, Func> registry; + void add(const char * functionname, Func functionptr) { - funcregistry[std::string(functionname)] = functionptr; + registry[std::string(functionname)] = functionptr; } void remove(const char *functionname) { - funcregistry.erase(std::string(functionname)); + registry.erase(std::string(functionname)); } void remove(const std::string &functionname) { - funcregistry.erase(functionname); + registry.erase(functionname); } Func find(const std::string &functionname) { - return funcregistry[functionname]; + std::map<std::string, Func>::iterator it = registry.find(functionname); + if (it == registry.end()) + return 0; + else + return (*it).second; } void list() { con_print << "-- listfunc -----------------" << std::endl; - std::map<std::string, Func>::iterator funcregistryiterator; - for (funcregistryiterator = funcregistry.begin(); funcregistryiterator != funcregistry.end(); funcregistryiterator++) { - con_print << " " << (*funcregistryiterator).first << std::endl; + std::map<std::string, Func>::iterator it; + for (it = registry.begin(); it != registry.end(); it++) { + con_print << " " << (*it).first << std::endl; } } |