diff options
author | Christos Zoulas <christos@zoulas.com> | 2021-03-29 16:19:21 -0400 |
---|---|---|
committer | Christos Zoulas <christos@zoulas.com> | 2021-03-29 16:19:21 -0400 |
commit | 7fa476911d1099862fc90c4f20b3ea9c99feaa30 (patch) | |
tree | 4ac01f72067602047597c12c52d485c39a6f7ec4 /libarchive/archive_read_disk_posix.c | |
parent | 42776e9db8d2319929be87048616961510f904b4 (diff) | |
download | libarchive-7fa476911d1099862fc90c4f20b3ea9c99feaa30.tar.gz |
Put the statvfs code in a separate block so that it can by shared by
linux and NetBSD
Diffstat (limited to 'libarchive/archive_read_disk_posix.c')
-rw-r--r-- | libarchive/archive_read_disk_posix.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c index 28949fc9..a674d72d 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 */ |