git clone https://orangeshoelaces.net/git/rscp.git
Author: Vasily Kolobkov on 06/26/2017
Committer: Vasily Kolobkov on 06/26/2017
Check file modes clearly
rscp.go | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/rscp.go b/rscp.go
index 3f3f998..d30cd86 100644
--- a/rscp.go
+++ b/rscp.go
@@ -327,15 +327,12 @@ func send(name string) error {
}
name = st.Name()
- switch st.Mode() & os.ModeType {
- case 0: /* regular file */
- break
- case os.ModeDir:
+ if mode := st.Mode(); mode.IsDir() {
if *iamRecursive {
return sendDir(f, st)
}
return teeError(errors.New(name + ": is a directory"))
- default:
+ } else if !mode.IsRegular() {
return teeError(errors.New(name + ": not a regular file"))
}