Ticket #415: 2.patch

File 2.patch, 1.3 KB (added by slavazanko, 10 years ago)
  • src/file.c

    diff -d -urpN mc.1/src/file.c mc.2/src/file.c
    old new panel_operate (void *source_panel, FileO 
    18061806        else 
    18071807            dest_dir = panel->cwd; 
    18081808        /* 
    1809          * Add trailing backslash only when do non-locally ops. 
     1809         * Add trailing backslash only when do non-local ops. 
    18101810         * It saves user from occasional file renames (when destination 
    18111811         * dir is deleted) 
    18121812         */ 
    1813         if (force_single) 
    1814             /* just copy */ 
    1815             dest_dir_ = g_strdup (dest_dir); 
    1816         else 
     1813        if (!force_single 
     1814         && dest_dir[0] 
     1815         && dest_dir[strlen(dest_dir)-1] != PATH_SEP) { 
    18171816            /* add trailing separator */ 
    1818             if (*dest_dir && strcmp(&dest_dir[strlen(dest_dir)-1], PATH_SEP_STR)) { 
    1819                 dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char*)0); 
     1817            dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char*)0); 
    18201818        } else { 
    1821                 dest_dir_ = g_strdup (dest_dir); 
     1819            /* just copy */ 
     1820            dest_dir_ = g_strdup (dest_dir); 
    18221821        } 
    18231822        if (!dest_dir_) { 
    18241823            file_op_context_destroy (ctx); 
    panel_operate (void *source_panel, FileO 
    18301829                              single_entry, &do_bg); 
    18311830        g_free(dest_dir_); 
    18321831 
    1833         if (!dest) { 
    1834             file_op_context_destroy (ctx); 
    1835             return 0; 
    1836         } 
    1837         if (!*dest) { 
     1832        if (!dest || !dest[0]) { 
    18381833            file_op_context_destroy (ctx); 
    18391834            g_free (dest); 
    18401835            return 0;