diff --git a/serial_unix.go b/serial_unix.go index 541660c..cca46ec 100644 --- a/serial_unix.go +++ b/serial_unix.go @@ -265,6 +265,10 @@ func nativeGetPortsList() ([]string, error) { } ports := make([]string, 0, len(files)) + regex, err := regexp.Compile(regexFilter) + if err != nil { + return nil, err + } for _, f := range files { // Skip folders if f.IsDir() { @@ -272,11 +276,7 @@ func nativeGetPortsList() ([]string, error) { } // Keep only devices with the correct name - match, err := regexp.MatchString(regexFilter, f.Name()) - if err != nil { - return nil, err - } - if !match { + if !regex.MatchString(f.Name()) { continue }