diff options
Diffstat (limited to 'server/src/macrotool_filehandler.cc')
-rw-r--r-- | server/src/macrotool_filehandler.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/server/src/macrotool_filehandler.cc b/server/src/macrotool_filehandler.cc index 524761c..4caa889 100644 --- a/server/src/macrotool_filehandler.cc +++ b/server/src/macrotool_filehandler.cc @@ -30,6 +30,7 @@ #include <fstream> #include <ios> +#include "macroheaderparser.h" #include "macroparser.h" #include "template.h" @@ -61,9 +62,10 @@ static bool check(std::string file, std::string *name = NULL, std::string *versi static bool check(std::string file, std::string *name, std::string *version) { try { - MacroParser parser(file, true); + MacroHeaderParser parser(file); parser.parse(); Macro *macro = parser.getMacro(); + if(!macro) { printf("Macro malformed!\n"); return false; @@ -83,14 +85,18 @@ static bool check(std::string file, std::string *name, std::string *version) return true; } +#define SZ 1000 static bool macro_exists(std::string name, std::string version, std::string &clashfile) { std::vector<std::string> macrofiles = getMacros(); + + for(int prut = 0; prut < SZ; prut++) { std::vector<std::string>::iterator mfs = macrofiles.begin(); while(mfs != macrofiles.end()) { std::string macroname = mfs->substr(0, mfs->length() - 4); - MacroParser parser(macroname); + MacroHeaderParser parser(Conf::xml_basedir + "/macros/" + *mfs); + //MacroParser parser(macroname); parser.parse(); Macro *macro = parser.getMacro(); @@ -102,7 +108,8 @@ static bool macro_exists(std::string name, std::string version, std::string &cla mfs++; } - + } + printf("Parsed %d files\n", macrofiles.size() * SZ); return false; } |