summaryrefslogtreecommitdiff
path: root/src/libostree/ostree-core.c
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2023-03-17 12:54:33 +0000
committerSimon McVittie <smcv@collabora.com>2023-03-17 12:54:33 +0000
commit9e116c0f7983ce251b9ea661f14008603b552e42 (patch)
tree3c2147cc18960773ccef7029aee172716d379204 /src/libostree/ostree-core.c
parent722a4179f36439a01faf4afa33201ddd2f3ca46a (diff)
downloadostree-9e116c0f7983ce251b9ea661f14008603b552e42.tar.gz
_ostree_zlib_file_header_new: Default size to 0
Similar to the previous commit, but for ostree_raw_file_to_archive_z2_stream() and similar public APIs. Signed-off-by: Simon McVittie <smcv@collabora.com>
Diffstat (limited to 'src/libostree/ostree-core.c')
-rw-r--r--src/libostree/ostree-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
index f2f8c7a5..e4315d0d 100644
--- a/src/libostree/ostree-core.c
+++ b/src/libostree/ostree-core.c
@@ -355,7 +355,7 @@ GBytes *
_ostree_zlib_file_header_new (GFileInfo *file_info,
GVariant *xattrs)
{
- guint64 size = g_file_info_get_size (file_info);
+ guint64 size = 0;
guint32 uid = g_file_info_get_attribute_uint32 (file_info, "unix::uid");
guint32 gid = g_file_info_get_attribute_uint32 (file_info, "unix::gid");
guint32 mode = g_file_info_get_attribute_uint32 (file_info, "unix::mode");
@@ -366,6 +366,9 @@ _ostree_zlib_file_header_new (GFileInfo *file_info,
else
symlink_target = "";
+ if (g_file_info_has_attribute (file_info, "standard::size"))
+ size = g_file_info_get_size (file_info);
+
g_autoptr(GVariant) tmp_xattrs = NULL;
if (xattrs == NULL)
tmp_xattrs = g_variant_ref_sink (g_variant_new_array (G_VARIANT_TYPE ("(ayay)"), NULL, 0));