mc/mc-vfs-fish-deleted_source_file.patch

121 lines
5.1 KiB
Diff
Raw Normal View History

diff -rup mc-4.8.11.orig/src/filemanager/file.c mc-4.8.11/src/filemanager/file.c
--- mc-4.8.11.orig/src/filemanager/file.c 2013-11-29 19:27:07.000000000 +0100
+++ mc-4.8.11/src/filemanager/file.c 2014-01-14 00:09:30.540439661 +0100
@@ -1914,6 +1914,8 @@ copy_file_file (FileOpTotalContext * tct
continue;
if (temp_status == FILE_ABORT)
return_status = temp_status;
+ if (temp_status == FILE_SKIP)
+ return_status = temp_status;
if (temp_status == FILE_SKIPALL)
ctx->skip_all = TRUE;
break;
@@ -1924,6 +1926,8 @@ copy_file_file (FileOpTotalContext * tct
temp_status = file_error (_("Cannot close target file \"%s\"\n%s"), dst_path);
if (temp_status == FILE_RETRY)
continue;
+ if (temp_status == FILE_SKIP)
+ return_status = temp_status;
if (temp_status == FILE_SKIPALL)
ctx->skip_all = TRUE;
return_status = temp_status;
@@ -1957,10 +1961,10 @@ copy_file_file (FileOpTotalContext * tct
if (temp_status == FILE_SKIPALL)
{
ctx->skip_all = TRUE;
- return_status = FILE_CONT;
+ return_status = FILE_SKIPALL;
}
if (temp_status == FILE_SKIP)
- return_status = FILE_CONT;
+ return_status = FILE_SKIP;
break;
}
}
@@ -1977,10 +1981,10 @@ copy_file_file (FileOpTotalContext * tct
if (temp_status == FILE_SKIPALL)
{
ctx->skip_all = TRUE;
- return_status = FILE_CONT;
+ return_status = FILE_SKIPALL;
}
if (temp_status == FILE_SKIP)
- return_status = FILE_CONT;
+ return_status = FILE_SKIP;
break;
}
}
diff -rup mc-4.8.11.orig/src/vfs/fish/fishdef.h mc-4.8.11/src/vfs/fish/fishdef.h
--- mc-4.8.11.orig/src/vfs/fish/fishdef.h 2013-04-10 22:04:31.000000000 +0200
+++ mc-4.8.11/src/vfs/fish/fishdef.h 2014-01-13 23:54:30.773582204 +0100
@@ -145,13 +145,19 @@
"FILESIZE=${FISH_FILESIZE}\n" \
"#STOR $FILESIZE $FILENAME\n" \
"echo \"### 001\"\n" \
+"touch $FILENAME 2>/dev/null\n" \
+"if [ -f $FILENAME ]; then\n" \
+"rm $FILENAME\n" \
"{\n" \
" while [ $FILESIZE -gt 0 ]; do\n" \
" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \
" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \
" FILESIZE=`expr $FILESIZE - $n`\n" \
" done\n" \
-"}; echo \"### 200\"\n"
+"}; echo \"### 200\"\n" \
+"else\n" \
+" echo \"### 500\"\n" \
+"fi\n"
/* default 'appe' script */
#define FISH_APPEND_DEF_CONTENT "" \
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/chmod mc-4.8.11/src/vfs/fish/helpers/chmod
--- mc-4.8.11.orig/src/vfs/fish/helpers/chmod 2013-04-10 22:04:31.000000000 +0200
+++ mc-4.8.11/src/vfs/fish/helpers/chmod 2014-01-13 23:54:30.773582204 +0100
@@ -1,6 +1,7 @@
#CHMOD $FISH_FILEMODE $FISH_FILENAME
-if chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null; then
- echo "### 000"
-else
+chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null
+if [ $? -ne 0 ]; then
echo "### 500"
+else
+ echo "### 000"
fi
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/chown mc-4.8.11/src/vfs/fish/helpers/chown
--- mc-4.8.11.orig/src/vfs/fish/helpers/chown 2013-04-10 22:04:31.000000000 +0200
+++ mc-4.8.11/src/vfs/fish/helpers/chown 2014-01-13 23:54:30.774582155 +0100
@@ -1,6 +1,7 @@
#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME
-if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}" ; then
- echo "### 000"
-else
+chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}"
+if [ $? -ne 0 ]; then
echo "### 500"
+else
+ echo "### 000"
fi
diff -rup mc-4.8.11.orig/src/vfs/fish/helpers/send mc-4.8.11/src/vfs/fish/helpers/send
--- mc-4.8.11.orig/src/vfs/fish/helpers/send 2013-04-10 22:04:31.000000000 +0200
+++ mc-4.8.11/src/vfs/fish/helpers/send 2014-01-13 23:54:30.774582155 +0100
@@ -1,6 +1,9 @@
#STOR $FISH_FILESIZE $FISH_FILENAME
FILENAME="/${FISH_FILENAME}"
echo "### 001"
+touch $FILENAME 2>/dev/null
+if [ -f $FILENAME ]; then
+rm $FILENAME 2>/dev/null
{
> "${FILENAME}"
bss=4096
@@ -15,3 +18,6 @@ echo "### 001"
FISH_FILESIZE=`expr $FISH_FILESIZE - $n`
done
}; echo "### 200"
+else
+ echo "### 500"
+fi