From 36d39e22091eb274a01eb6c1251bf107127c9c79 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Thu, 24 Oct 2024 10:14:19 +0200 Subject: gvfs: Return error when Append is requested for copy operation Would need to fall back to manual file open-read/write-close --- gvfs/gvfs.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gvfs/gvfs.c b/gvfs/gvfs.c index 0b1aa30..bc708f8 100644 --- a/gvfs/gvfs.c +++ b/gvfs/gvfs.c @@ -1318,6 +1318,11 @@ VFSCopyToLocal (struct TVFSGlobs *globs, const char *sSrcName, const char *sDstN g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, "globs->file == NULL"); return FALSE; } + if (Append) { + log_error ("VFSCopyToLocal: Appending not supported"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "Appending not supported"); + return FALSE; + } log_notice ("VFSCopyToLocal: Copying '%s' --> '%s'", sSrcName, sDstName); src = g_file_resolve_relative_path (globs->file, sSrcName); @@ -1336,6 +1341,7 @@ VFSCopyToLocal (struct TVFSGlobs *globs, const char *sSrcName, const char *sDstN res = TRUE; local_error = NULL; globs->cancellable = g_cancellable_new (); + /* FIXME: Appending not supported */ g_file_copy (src, dst, TUXCMD_DEFAULT_COPY_FLAGS, globs->cancellable, vfs_copy_progress_callback, globs, &local_error); if (local_error) { log_error ("VFSCopyToLocal: g_file_copy() error: %s", local_error->message); @@ -1362,6 +1368,11 @@ VFSCopyFromLocal (struct TVFSGlobs *globs, const char *sSrcName, const char *sDs g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, "globs->file == NULL"); return FALSE; } + if (Append) { + log_error ("VFSCopyFromLocal: Appending not supported"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "Appending not supported"); + return FALSE; + } log_notice ("VFSCopyFromLocal: Copying '%s' --> '%s'", sSrcName, sDstName); src = g_file_new_for_path (sSrcName); -- cgit v1.2.3