Added code for recursively traversing directories

master
Aadhavan Srinivasan 2 days ago
parent 17e897e2d6
commit 3c61ab16ae

@ -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() {
fmt.Printf("%s: %s: Is a directory\n", os.Args[0], inputFilename)
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 {

Loading…
Cancel
Save