Return error when stdin provides no paths
When using "-" to read paths from stdin, if stdin is empty or contains only blank lines, return an explicit error instead of silently succeeding with no work done.
This commit is contained in:
parent
d848c5e51b
commit
144d2de243
@ -99,8 +99,10 @@ func main() {
|
|||||||
// expandPaths expands the given paths, reading from stdin if "-" is present
|
// expandPaths expands the given paths, reading from stdin if "-" is present
|
||||||
func expandPaths(args []string) ([]string, error) {
|
func expandPaths(args []string) ([]string, error) {
|
||||||
var paths []string
|
var paths []string
|
||||||
|
readFromStdin := false
|
||||||
for _, arg := range args {
|
for _, arg := range args {
|
||||||
if arg == "-" {
|
if arg == "-" {
|
||||||
|
readFromStdin = true
|
||||||
scanner := bufio.NewScanner(os.Stdin)
|
scanner := bufio.NewScanner(os.Stdin)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
line := strings.TrimSpace(scanner.Text())
|
line := strings.TrimSpace(scanner.Text())
|
||||||
@ -115,6 +117,12 @@ func expandPaths(args []string) ([]string, error) {
|
|||||||
paths = append(paths, arg)
|
paths = append(paths, arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(paths) == 0 {
|
||||||
|
if readFromStdin {
|
||||||
|
return nil, errors.New("no paths provided on stdin")
|
||||||
|
}
|
||||||
|
return nil, errors.New("no paths provided")
|
||||||
|
}
|
||||||
return paths, nil
|
return paths, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user