summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2010-03-26 16:18:20 -0700
committerRob Pike <r@golang.org>2010-03-26 16:18:20 -0700
commit021b3719dd526f8c08317c6e746bc010daf15f93 (patch)
treeaf75a4d226f98b3d668d993436aba76a7be19fa7
parentb08838750c92828a3fbb912256585fe3c6453c54 (diff)
downloadgolang-021b3719dd526f8c08317c6e746bc010daf15f93.tar.gz
regexp: don't return non-nil *Regexp if there is an error.
R=gri CC=golang-dev http://codereview.appspot.com/787041
-rw-r--r--src/pkg/regexp/regexp.go3
-rw-r--r--src/pkg/testing/regexp.go3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/pkg/regexp/regexp.go b/src/pkg/regexp/regexp.go
index bf9a4bb40..43005fba4 100644
--- a/src/pkg/regexp/regexp.go
+++ b/src/pkg/regexp/regexp.go
@@ -664,6 +664,9 @@ func Compile(str string) (regexp *Regexp, error os.Error) {
regexp.expr = str
regexp.inst = new(vector.Vector)
error = regexp.doParse()
+ if error != nil {
+ regexp = nil
+ }
return
}
diff --git a/src/pkg/testing/regexp.go b/src/pkg/testing/regexp.go
index e2bde0b25..de30a13f9 100644
--- a/src/pkg/testing/regexp.go
+++ b/src/pkg/testing/regexp.go
@@ -615,6 +615,9 @@ func CompileRegexp(str string) (regexp *Regexp, error string) {
regexp.expr = str
regexp.inst = make([]instr, 0, 20)
error = regexp.doParse()
+ if error != nil {
+ regexp = nil
+ }
return
}