diff options
-rw-r--r-- | src/mv.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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) { |