]> Cypherpunks repositories - gostls13.git/commitdiff
regexp: don't return non-nil *Regexp if there is an error.
authorRob Pike <r@golang.org>
Fri, 26 Mar 2010 23:18:20 +0000 (16:18 -0700)
committerRob Pike <r@golang.org>
Fri, 26 Mar 2010 23:18:20 +0000 (16:18 -0700)
R=gri
CC=golang-dev
https://golang.org/cl/787041

src/pkg/regexp/regexp.go
src/pkg/testing/regexp.go

index bf9a4bb40b0e12cc196adbb81e47c4932a6c630d..43005fba4e0800fb587b880896b3d6b189cc149f 100644 (file)
@@ -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
 }
 
index e2bde0b2534594e355630bec7a8f6738bfc22302..de30a13f9189b879197e2819e84d5896212f7dcd 100644 (file)
@@ -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
 }