diff options
author | Brad King <brad.king@kitware.com> | 2002-11-06 21:59:09 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2002-11-06 21:59:09 (GMT) |
commit | 5417d02a61dfaed3377a017b2ffeaea66f8344ce (patch) | |
tree | bbc5a60a825884080f2d9798d1e646f7e2a60c39 /Source | |
parent | 0930c14b0415b5c2503c8713e9bbac19e6fb0d4b (diff) | |
download | CMake-5417d02a61dfaed3377a017b2ffeaea66f8344ce.zip CMake-5417d02a61dfaed3377a017b2ffeaea66f8344ce.tar.gz CMake-5417d02a61dfaed3377a017b2ffeaea66f8344ce.tar.bz2 |
ENH: compile method now returns whether compilation succeeded.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmRegularExpression.cxx | 11 | ||||
-rw-r--r-- | Source/cmRegularExpression.h | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/Source/cmRegularExpression.cxx b/Source/cmRegularExpression.cxx index b8fd823..ce7b57a 100644 --- a/Source/cmRegularExpression.cxx +++ b/Source/cmRegularExpression.cxx @@ -300,7 +300,7 @@ static int strcspn (); // compile -- compile a regular expression into internal code // for later pattern matching. -void cmRegularExpression::compile (const char* exp) { +bool cmRegularExpression::compile (const char* exp) { register const char* scan; register const char* longest; register unsigned long len; @@ -309,7 +309,7 @@ void cmRegularExpression::compile (const char* exp) { if (exp == 0) { //RAISE Error, SYM(cmRegularExpression), SYM(No_Expr), printf ("cmRegularExpression::compile(): No expression supplied.\n"); - return; + return false; } // First pass: determine size, legality. @@ -321,7 +321,7 @@ void cmRegularExpression::compile (const char* exp) { if(!reg(0, &flags)) { printf ("cmRegularExpression::compile(): Error in compile.\n"); - return; + return false; } this->startp[0] = this->endp[0] = this->searchstring = 0; @@ -329,7 +329,7 @@ void cmRegularExpression::compile (const char* exp) { if (regsize >= 32767L) { // Probably could be 65535L. //RAISE Error, SYM(cmRegularExpression), SYM(Expr_Too_Big), printf ("cmRegularExpression::compile(): Expression too big.\n"); - return; + return false; } // Allocate space. @@ -342,7 +342,7 @@ void cmRegularExpression::compile (const char* exp) { if (this->program == 0) { //RAISE Error, SYM(cmRegularExpression), SYM(Out_Of_Memory), printf ("cmRegularExpression::compile(): Out of memory.\n"); - return; + return false; } // Second pass: emit code. @@ -387,6 +387,7 @@ void cmRegularExpression::compile (const char* exp) { this->regmlen = len; } } + return true; } diff --git a/Source/cmRegularExpression.h b/Source/cmRegularExpression.h index c7717be..646deea 100644 --- a/Source/cmRegularExpression.h +++ b/Source/cmRegularExpression.h @@ -203,7 +203,7 @@ public: * Compile a regular expression into internal code * for later pattern matching. */ - void compile (char const*); + bool compile (char const*); /** * Matches the regular expression to the given string. |