|
|
@ -91,6 +91,7 @@ func main() {
|
|
|
|
inputFilenames := flag.Args()[1:]
|
|
|
|
inputFilenames := flag.Args()[1:]
|
|
|
|
for _, inputFilename := range inputFilenames {
|
|
|
|
for _, inputFilename := range inputFilenames {
|
|
|
|
inputFile, err := os.Open(inputFilename)
|
|
|
|
inputFile, err := os.Open(inputFilename)
|
|
|
|
|
|
|
|
defer inputFile.Close()
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
fmt.Printf("%s: %s: No such file or directory\n", os.Args[0], inputFilename)
|
|
|
|
fmt.Printf("%s: %s: No such file or directory\n", os.Args[0], inputFilename)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -102,12 +103,25 @@ func main() {
|
|
|
|
if fileStat.Mode().IsDir() {
|
|
|
|
if fileStat.Mode().IsDir() {
|
|
|
|
fmt.Printf("%s: %s: Is a directory\n", os.Args[0], inputFilename)
|
|
|
|
fmt.Printf("%s: %s: Is a directory\n", os.Args[0], inputFilename)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
inputFiles = append(inputFiles, inputFile)
|
|
|
|
var nullCharPresent bool
|
|
|
|
|
|
|
|
if nullCharPresent, err = fileContainsNullChar(inputFilename); nullCharPresent {
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
fmt.Printf("%v\n", err)
|
|
|
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
fmt.Printf("%s: %s: Is a binary file\n", os.Args[0], inputFilename)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
inputFiles = append(inputFiles, inputFile)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if len(inputFiles) == 0 { // No valid files given
|
|
|
|
|
|
|
|
os.Exit(2)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var test_str string
|
|
|
|
var test_str string
|
|
|
|
var err error
|
|
|
|
var err error
|
|
|
|