From 7e349e2789a633a6014baea63aeb7932e024c917 Mon Sep 17 00:00:00 2001 From: deva Date: Wed, 22 Jul 2009 15:00:29 +0000 Subject: Changed the way the macros are looked up in the filesystem (now they are parsed and indexed using version numbers). Updated all unit tests, to compile and run again. --- server/src/macrotool_filehandler.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'server/src/macrotool_filehandler.cc') 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 #include +#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 macrofiles = getMacros(); + + for(int prut = 0; prut < SZ; prut++) { std::vector::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; } -- cgit v1.2.3