summaryrefslogtreecommitdiff
path: root/server/src/macrotool_filehandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/macrotool_filehandler.cc')
-rw-r--r--server/src/macrotool_filehandler.cc13
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;
}