Example #1
0
bool ADVBPatterns::ParsePattern(ADataList& patternlist, const AString& line, AString& errors, const AString& user)
{
	//const ADVBConfig& config = ADVBConfig::Get();
	PATTERN *pattern;
	bool    success = false;

	patternlist.SetDestructor(&__DeletePattern);

	if ((pattern = new PATTERN) != NULL) {
		AString errs = ParsePattern(line, *pattern, user);

		if (errs.Valid()) {
			//config.printf("Error parsing '%s': %s", line.str(), errs.str());
			errors += errs + "\n";
		}

		if ((pattern->list.Count() > 0) || pattern->errors.Valid()) {
			patternlist.Add((uptr_t)pattern);
			success = true;
		}
	}

	return success;
}