|
|
|
@ -5,7 +5,9 @@ import (
|
|
|
|
|
"flag"
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"io/fs"
|
|
|
|
|
"os"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
"slices"
|
|
|
|
|
|
|
|
|
|
"github.com/fatih/color"
|
|
|
|
@ -101,7 +103,24 @@ func main() {
|
|
|
|
|
os.Exit(2)
|
|
|
|
|
} else {
|
|
|
|
|
if fileStat.Mode().IsDir() {
|
|
|
|
|
if *recursiveFlag {
|
|
|
|
|
// Walk the directory and open every file in it. Add each file to the filelist.
|
|
|
|
|
filepath.WalkDir(inputFilename, func(filename string, d fs.DirEntry, err error) error {
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
if !d.IsDir() {
|
|
|
|
|
f, err := os.Open(filename)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
inputFiles = append(inputFiles, f)
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
fmt.Printf("%s: %s: Is a directory\n", os.Args[0], inputFilename)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
var nullCharPresent bool
|
|
|
|
|
if nullCharPresent, err = fileContainsNullChar(inputFilename); nullCharPresent {
|
|
|
|
|