diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 17:23:21 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 17:23:21 +0300 |
| commit | edee62717fbe752556d702c029a5b39de1b04677 (patch) | |
| tree | e3c6d99d7a08e0005fd6340c664fb11912b89679 /internal/regex | |
| parent | c562a013ef7e40e3a7f6126a6d327552f2bc557f (diff) | |
fix regex bug
Diffstat (limited to 'internal/regex')
| -rw-r--r-- | internal/regex/regex.go | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/internal/regex/regex.go b/internal/regex/regex.go index e870797..707cb48 100644 --- a/internal/regex/regex.go +++ b/internal/regex/regex.go @@ -15,15 +15,20 @@ type Regex struct { re *regexp.Regexp // For now only use the first flag at flags[0], but in the future we can // set and use multiple flags. - flags []Flag + flags []Flag + initialized bool } func (r Regex) String() string { - return fmt.Sprintf("Regex(regexStr:%s,flags:%s,re==nil:%t)", r.regexStr, r.flags, r.re == nil) + return fmt.Sprintf("Regex(regexStr:%s,flags:%s,initialized:%t,re==nil:%t)", + r.regexStr, r.flags, r.initialized, r.re == nil) } func NewNoop() Regex { - return Regex{flags: []Flag{Noop}} + return Regex{ + flags: []Flag{Noop}, + initialized: true, + } } func New(regexStr string, flag Flag) (Regex, error) { @@ -46,6 +51,7 @@ func new(regexStr string, flags []Flag) (Regex, error) { } r.re = re + r.initialized = true return r, nil } @@ -81,6 +87,10 @@ func (r Regex) Serialize() string { flags = append(flags, flag.String()) } + if !r.initialized { + logger.FatalExit("Unable to serialize regex as not initialized properly", r) + } + return fmt.Sprintf("regex:%s %s", strings.Join(flags, ","), r.regexStr) } |
