diff options
author | deva <deva> | 2010-01-14 14:11:27 +0000 |
---|---|---|
committer | deva <deva> | 2010-01-14 14:11:27 +0000 |
commit | 0485bd935b235e1162332ca145e7fbb6e5aecb3b (patch) | |
tree | 96708969f530428de2a9e01fd35dd97d5aa46893 /server/src/macrolist.cc | |
parent | 984d1dd9993aa5beffa4270b6421dea05ab04faa (diff) |
Made EntityList able to handle several files with same macroname and version number, without corrupting the internal data structure (switched from map to multimap).
Diffstat (limited to 'server/src/macrolist.cc')
-rw-r--r-- | server/src/macrolist.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server/src/macrolist.cc b/server/src/macrolist.cc index 86584d4..9dadb12 100644 --- a/server/src/macrolist.cc +++ b/server/src/macrolist.cc @@ -27,6 +27,8 @@ */ #include "macrolist.h" +#include <utility> + #include "macroheaderparser.h" #include "debug.h" @@ -45,7 +47,8 @@ void MacroList::addFile(std::string file) try { parser.parse(); Macro *macro = parser.getMacro(); - (*this)[macro->attributes["name"]][VersionStr(macro->attributes["version"])] = file; + std::pair<VersionStr, std::string> p(VersionStr(macro->attributes["version"]), file); + (*this)[macro->attributes["name"]].insert(p); } catch(Exception &e) { PRACRO_WARN(macrolist, "Skipping %s: %s\n", file.c_str(), e.what()); } |