diff --git a/filtering/filter.go b/filtering/filter.go index 0deebed..bc3f825 100644 --- a/filtering/filter.go +++ b/filtering/filter.go @@ -48,12 +48,9 @@ func (e *ExprValue) Validate(line map[string]interface{}) bool { if !ok || val == nil { // errors when evaluating return false } - if val.Type() != value.BoolType { - fmt.Fprintln(os.Stderr, "WARNING: The 'where' expression doesn't return a boolean") - return false + if bv, isBool := val.(value.BoolValue); isBool { + return bv.Val() } - if val.Value().(bool) != true { - return false - } - return true + fmt.Fprintln(os.Stderr, "WARNING: The 'where' expression doesn't return a boolean") + return false }