_ostree_zlib_file_header_new: Default size to 0
authorSimon McVittie <smcv@collabora.com>
Fri, 17 Mar 2023 12:54:33 +0000 (12:54 +0000)
committerSimon McVittie <smcv@collabora.com>
Fri, 17 Mar 2023 12:54:33 +0000 (12:54 +0000)
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>
src/libostree/ostree-core.c

index f2f8c7a525fc187c620bbbc7940db238c854b30d..e4315d0d0bbda7a96704c4b4cbe5e5f5a45cc776 100644 (file)
@@ -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));