core: Use gs_file_create()

This allows us to drop a chmod() invocation, since the regular file
path was the only thing that didn't handle mode.
This commit is contained in:
Colin Walters 2013-07-16 08:49:46 -04:00
parent ed55998f36
commit acdf1ca4fe
1 changed files with 3 additions and 13 deletions

View File

@ -1211,7 +1211,7 @@ ostree_create_file_from_input (GFile *dest_file,
gboolean ret = FALSE;
const char *dest_path;
guint32 uid, gid, mode;
gs_unref_object GFileOutputStream *out = NULL;
gs_unref_object GOutputStream *out = NULL;
if (g_cancellable_set_error_if_cancelled (cancellable, error))
return FALSE;
@ -1236,8 +1236,8 @@ ostree_create_file_from_input (GFile *dest_file,
}
else if (S_ISREG (mode))
{
out = g_file_create (dest_file, 0, cancellable, error);
if (!out)
if (!gs_file_create (dest_file, mode, &out,
cancellable, error))
goto out;
if (input)
@ -1296,16 +1296,6 @@ ostree_create_file_from_input (GFile *dest_file,
}
}
if (!S_ISLNK (mode))
{
if (chmod (dest_path, mode) < 0)
{
ot_util_set_error_from_errno (error, errno);
g_prefix_error (error, "chmod(%u) failed: ", mode);
goto out;
}
}
if (xattrs != NULL)
{
if (!ostree_set_xattrs (dest_file, xattrs, cancellable, error))