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)
{