summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2016-03-27 09:58:32 -0700
committerCosimo Cecchi <cosimo@endlessm.com>2016-07-13 13:35:14 -0700
commitffc900fdfdd985a8398c62d2936ea4155c15df4c (patch)
tree911e954bb2d9b99811b41c5855a964f9e42535dd /daemon
parent939235985f848fbca4eaa9d3154b7f3b84db88a6 (diff)
downloadgvfs-ffc900fdfdd985a8398c62d2936ea4155c15df4c.tar.gz
admin: factor out function to set common GVfsJobOpenForWrite attrs
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gvfsbackendadmin.c37
1 files changed, 16 insertions, 21 deletions
diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c
index af2fff1a..522ea971 100644
--- a/daemon/gvfsbackendadmin.c
+++ b/daemon/gvfsbackendadmin.c
@@ -233,6 +233,19 @@ do_write (GVfsBackend *backend,
}
static void
+set_open_for_write_attributes (GVfsJobOpenForWrite *open_write_job,
+ GFileOutputStream *stream)
+{
+ GSeekable *seekable = G_SEEKABLE (stream);
+
+ g_vfs_job_open_for_write_set_handle (open_write_job, stream);
+ g_vfs_job_open_for_write_set_can_seek
+ (open_write_job, g_seekable_can_seek (seekable));
+ g_vfs_job_open_for_write_set_can_truncate
+ (open_write_job, g_seekable_can_truncate (seekable));
+}
+
+static void
do_append_to (GVfsBackend *backend,
GVfsJobOpenForWrite *open_write_job,
const char *filename,
@@ -265,11 +278,7 @@ do_append_to (GVfsBackend *backend,
goto out;
}
- g_vfs_job_open_for_write_set_handle (open_write_job, stream);
- g_vfs_job_open_for_write_set_can_seek
- (open_write_job, g_seekable_can_seek (seekable));
- g_vfs_job_open_for_write_set_can_truncate
- (open_write_job, g_seekable_can_truncate (seekable));
+ set_open_for_write_attributes (open_write_job, stream);
g_vfs_job_open_for_write_set_initial_offset
(open_write_job, g_seekable_tell (seekable));
@@ -288,7 +297,6 @@ do_create (GVfsBackend *backend,
GError *error = NULL;
GFile *file;
GFileOutputStream *stream;
- GSeekable *seekable;
if (!check_permission (self, job))
return;
@@ -300,13 +308,7 @@ do_create (GVfsBackend *backend,
if (error != NULL)
goto out;
- seekable = G_SEEKABLE (stream);
-
- g_vfs_job_open_for_write_set_handle (open_write_job, stream);
- g_vfs_job_open_for_write_set_can_seek
- (open_write_job, g_seekable_can_seek (seekable));
- g_vfs_job_open_for_write_set_can_truncate
- (open_write_job, g_seekable_can_truncate (seekable));
+ set_open_for_write_attributes (open_write_job, stream);
out:
complete_job (job, error);
@@ -325,7 +327,6 @@ do_replace (GVfsBackend *backend,
GError *error = NULL;
GFile *file;
GFileOutputStream *stream;
- GSeekable *seekable;
if (!check_permission (self, job))
return;
@@ -338,13 +339,7 @@ do_replace (GVfsBackend *backend,
if (error != NULL)
goto out;
- seekable = G_SEEKABLE (stream);
-
- g_vfs_job_open_for_write_set_handle (open_write_job, stream);
- g_vfs_job_open_for_write_set_can_seek
- (open_write_job, g_seekable_can_seek (seekable));
- g_vfs_job_open_for_write_set_can_truncate
- (open_write_job, g_seekable_can_truncate (seekable));
+ set_open_for_write_attributes (open_write_job, stream);
out:
complete_job (job, error);