From: Christos Zoulas Date: Mon, 29 Mar 2021 20:19:21 +0000 (-0400) Subject: Put the statvfs code in a separate block so that it can by shared by X-Git-Tag: v3.5.2~19^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7fa476911d1099862fc90c4f20b3ea9c99feaa30;p=thirdparty%2Flibarchive.git Put the statvfs code in a separate block so that it can by shared by linux and NetBSD --- diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c index 28949fc99..a674d72d3 100644 --- a/libarchive/archive_read_disk_posix.c +++ b/libarchive/archive_read_disk_posix.c @@ -1522,6 +1522,22 @@ get_xfer_size(struct tree *t, int fd, const char *path) } #endif +#if defined(HAVE_STATVFS) +static void +set_transfer_size(struct filesystem *fs, const struct statvfs *sfs) +{ + fs->xfer_align = sfs->f_frsize > 0 ? (long)sfs->f_frsize : -1; + fs->max_xfer_size = -1; +#if defined(HAVE_STRUCT_STATVFS_F_IOSIZE) + fs->min_xfer_size = sfs->f_iosize > 0 ? (long)sfs->f_iosize : -1; + fs->incr_xfer_size = sfs->f_iosize > 0 ? (long)sfs->f_iosize : -1; +#else + fs->min_xfer_size = sfs->f_bsize > 0 : (long)sfs->f_bsize : -1; + fs->incr_xfer_size = sfs->f_bsize > 0 : (long)sfs->f_bsize : -1; +#endif +} +#endif + #if defined(HAVE_STATFS) && defined(HAVE_FSTATFS) && defined(MNT_LOCAL) \ && !defined(ST_LOCAL) @@ -1657,20 +1673,6 @@ setup_current_filesystem(struct archive_read_disk *a) #elif (defined(HAVE_STATVFS) || defined(HAVE_FSTATVFS)) && defined(ST_LOCAL) -static void -set_transfer_size(struct filesystem *fs, const struct statvfs *sfs) -{ - fs->xfer_align = sfs->f_frsize > 0 ? (long)sfs->f_frsize : -1; - fs->max_xfer_size = -1; -#if defined(HAVE_STRUCT_STATVFS_F_IOSIZE) - fs->min_xfer_size = sfs->f_iosize > 0 ? (long)sfs->f_iosize : -1; - fs->incr_xfer_size = sfs->f_iosize > 0 ? (long)sfs->f_iosize : -1; -#else - fs->min_xfer_size = sfs->f_bsize > 0 : (long)sfs->f_bsize : -1; - fs->incr_xfer_size = sfs->f_bsize > 0 : (long)sfs->f_bsize : -1; -#endif -} - /* * Gather current filesystem properties on NetBSD */