summaryrefslogtreecommitdiff
path: root/src/mv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mv.c')
-rw-r--r--src/mv.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mv.c b/src/mv.c
index 291b531f0..41d3a9250 100644
--- a/src/mv.c
+++ b/src/mv.c
@@ -438,10 +438,14 @@ main (int argc, char **argv)
file = argv + optind;
target_directory_specified = (target_directory != NULL);
- if (!target_directory)
- target_directory = file[n_files - 1];
+ if (target_directory == NULL)
+ {
+ /* Be careful below. When n_files is 0, this value will be
+ argv[0], `--', or an option string. */
+ target_directory = file[n_files - 1];
+ }
- dest_is_dir = isdir (target_directory);
+ dest_is_dir = (n_files > 0 && isdir (target_directory));
if (target_directory_specified)
{