Blame mc-dircopying.patch
|
|
c50288b |
diff --git a/src/file.c b/src/file.c
|
|
|
c50288b |
index d7eaa46..5c45dcf 100644
|
|
|
c50288b |
--- a/src/file.c
|
|
|
c50288b |
+++ b/src/file.c
|
|
|
c50288b |
@@ -2066,28 +2066,21 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl
|
|
|
c50288b |
dest_dir = other_panel->cwd;
|
|
|
c50288b |
else
|
|
|
c50288b |
dest_dir = panel->cwd;
|
|
|
c50288b |
-
|
|
|
c50288b |
/*
|
|
|
c50288b |
* Add trailing backslash only when do non-local ops.
|
|
|
c50288b |
* It saves user from occasional file renames (when destination
|
|
|
c50288b |
* dir is deleted)
|
|
|
c50288b |
*/
|
|
|
c50288b |
- if (force_single || dest_dir[0] == '\0')
|
|
|
c50288b |
- {
|
|
|
c50288b |
- /* just copy */
|
|
|
c50288b |
- dest_dir_ = g_strdup (dest_dir);
|
|
|
c50288b |
- }
|
|
|
c50288b |
- else if (single_entry)
|
|
|
c50288b |
+ if (!force_single && dest_dir[0] != '\0' && dest_dir[strlen (dest_dir) - 1] != PATH_SEP)
|
|
|
c50288b |
{
|
|
|
c50288b |
- /* add filename to dest path */
|
|
|
c50288b |
- dest_dir_ = g_build_filename (dest_dir, source, (char *) NULL);
|
|
|
c50288b |
+ /* add trailing separator */
|
|
|
c50288b |
+ dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char *) NULL);
|
|
|
c50288b |
}
|
|
|
c50288b |
else
|
|
|
c50288b |
{
|
|
|
c50288b |
- /* add trailing separator */
|
|
|
c50288b |
- dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char *) NULL);
|
|
|
c50288b |
+ /* just copy */
|
|
|
c50288b |
+ dest_dir_ = g_strdup (dest_dir);
|
|
|
c50288b |
}
|
|
|
c50288b |
-
|
|
|
c50288b |
if (dest_dir_ == NULL)
|
|
|
c50288b |
{
|
|
|
c50288b |
file_op_total_context_destroy (tctx);
|