From c1070fb021e291ecd4cddb572d41e7377a6a6f14 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 3 May 2010 13:59:03 -0400 Subject: [PATCH] TokenDefinition storing name and definition, not pcre RE --- TokenDefinition.cc | 20 +++++--------------- TokenDefinition.h | 7 ++----- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/TokenDefinition.cc b/TokenDefinition.cc index 70fe29e..e77a53e 100644 --- a/TokenDefinition.cc +++ b/TokenDefinition.cc @@ -8,30 +8,20 @@ using namespace std; -TokenDefinition::TokenDefinition() - : m_re(NULL) -{ -} - -TokenDefinition::~TokenDefinition() -{ - if (m_re != NULL) - { - pcre_free(m_re); - } -} - bool TokenDefinition::create(const string & name, const string & definition, const string & flags) { const char * errptr; int erroffset; - m_re = pcre_compile(definition.c_str(), 0, &errptr, &erroffset, NULL); - if (m_re == NULL) + pcre * re = pcre_compile(definition.c_str(), 0, &errptr, &erroffset, NULL); + if (re == NULL) { cerr << "Error compiling regular expression '" << definition << "' at position " << erroffset << ": " << errptr << endl; return false; } + m_name = name; + m_definition = definition; + pcre_free(re); return true; } diff --git a/TokenDefinition.h b/TokenDefinition.h index 11bf8e1..c8a478a 100644 --- a/TokenDefinition.h +++ b/TokenDefinition.h @@ -2,20 +2,17 @@ #ifndef TOKENDEFINITION_H #define TOKENDEFINITION_H -#include - #include class TokenDefinition { public: - TokenDefinition(); - ~TokenDefinition(); bool create(const std::string & name, const std::string & definition, const std::string & flags); protected: - pcre * m_re; + std::string m_name; + std::string m_definition; }; #endif