fix broken directory copying, backport from upstream (#624973)
This commit is contained in:
parent
a91b1dae39
commit
bca2c47c05
38
mc-dircopying.patch
Normal file
38
mc-dircopying.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff --git a/src/file.c b/src/file.c
|
||||||
|
index d7eaa46..5c45dcf 100644
|
||||||
|
--- a/src/file.c
|
||||||
|
+++ b/src/file.c
|
||||||
|
@@ -2066,28 +2066,21 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl
|
||||||
|
dest_dir = other_panel->cwd;
|
||||||
|
else
|
||||||
|
dest_dir = panel->cwd;
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* Add trailing backslash only when do non-local ops.
|
||||||
|
* It saves user from occasional file renames (when destination
|
||||||
|
* dir is deleted)
|
||||||
|
*/
|
||||||
|
- if (force_single || dest_dir[0] == '\0')
|
||||||
|
- {
|
||||||
|
- /* just copy */
|
||||||
|
- dest_dir_ = g_strdup (dest_dir);
|
||||||
|
- }
|
||||||
|
- else if (single_entry)
|
||||||
|
+ if (!force_single && dest_dir[0] != '\0' && dest_dir[strlen (dest_dir) - 1] != PATH_SEP)
|
||||||
|
{
|
||||||
|
- /* add filename to dest path */
|
||||||
|
- dest_dir_ = g_build_filename (dest_dir, source, (char *) NULL);
|
||||||
|
+ /* add trailing separator */
|
||||||
|
+ dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char *) NULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- /* add trailing separator */
|
||||||
|
- dest_dir_ = g_strconcat (dest_dir, PATH_SEP_STR, (char *) NULL);
|
||||||
|
+ /* just copy */
|
||||||
|
+ dest_dir_ = g_strdup (dest_dir);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
if (dest_dir_ == NULL)
|
||||||
|
{
|
||||||
|
file_op_total_context_destroy (tctx);
|
7
mc.spec
7
mc.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: User-friendly text console file manager and visual shell
|
Summary: User-friendly text console file manager and visual shell
|
||||||
Name: mc
|
Name: mc
|
||||||
Version: 4.7.3
|
Version: 4.7.3
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: System Environment/Shells
|
Group: System Environment/Shells
|
||||||
@ -15,6 +15,7 @@ Requires: dev >= 3.3-3
|
|||||||
Patch0: mc-extensions.patch
|
Patch0: mc-extensions.patch
|
||||||
Patch1: mc-mcviewsegfault.patch
|
Patch1: mc-mcviewsegfault.patch
|
||||||
Patch2: mc-achownsegfault.patch
|
Patch2: mc-achownsegfault.patch
|
||||||
|
Patch3: mc-dircopying.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Midnight Commander is a visual shell much like a file manager, only
|
Midnight Commander is a visual shell much like a file manager, only
|
||||||
@ -28,6 +29,7 @@ specific files.
|
|||||||
%patch0 -p1 -b .extensions
|
%patch0 -p1 -b .extensions
|
||||||
%patch1 -p1 -b .mcviewsegfault
|
%patch1 -p1 -b .mcviewsegfault
|
||||||
%patch2 -p1 -b .achownsegfault
|
%patch2 -p1 -b .achownsegfault
|
||||||
|
%patch3 -p1 -b .dircopying
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS"
|
export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS"
|
||||||
@ -89,6 +91,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir %{_libexecdir}/mc/extfs.d
|
%dir %{_libexecdir}/mc/extfs.d
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 2 2010 Jindrich Novy <jnovy@redhat.com> 4.7.3-3
|
||||||
|
- fix broken directory copying, backport from upstream (#624973)
|
||||||
|
|
||||||
* Wed Sep 1 2010 Jindrich Novy <jnovy@redhat.com> 4.7.3-2
|
* Wed Sep 1 2010 Jindrich Novy <jnovy@redhat.com> 4.7.3-2
|
||||||
- fix segfault in advanced chown dialog (#625801)
|
- fix segfault in advanced chown dialog (#625801)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user