diff options
author | Björn Jacke <bj@sernet.de> | 2010-06-07 23:06:28 +0200 |
---|---|---|
committer | Björn Jacke <bj@sernet.de> | 2010-06-07 23:16:48 +0200 |
commit | 711a30aa61bb5f6a9b3970007bad8a70f411fb87 (patch) | |
tree | c868ccd73af342c689c72d971fdbe964f5b623c7 /source3/lib | |
parent | 99c9e358c54b170b01e614483514026fddbd2688 (diff) | |
download | samba-711a30aa61bb5f6a9b3970007bad8a70f411fb87.tar.gz samba-711a30aa61bb5f6a9b3970007bad8a70f411fb87.tar.bz2 samba-711a30aa61bb5f6a9b3970007bad8a70f411fb87.zip |
s3: fix build on platforms without st_blocks and st_blksize stat struct members
This fixes bug 7474.
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/system.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c index 5aab4417a9..7859c61087 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -534,8 +534,17 @@ static void init_stat_ex_from_stat (struct stat_ex *dst, dst->st_ex_mtime = get_mtimespec(src); dst->st_ex_ctime = get_ctimespec(src); make_create_timespec(src, dst, fake_dir_create_times); +#ifdef HAVE_STAT_ST_BLKSIZE dst->st_ex_blksize = src->st_blksize; +#else + dst->st_ex_blksize = STAT_ST_BLOCKSIZE; +#endif + +#ifdef HAVE_STAT_ST_BLOCKS dst->st_ex_blocks = src->st_blocks; +#else + dst->st_ex_blocks = src->st_size % STAT_ST_BLOCKSIZE + 1; +#endif #ifdef HAVE_STAT_ST_FLAGS dst->st_ex_flags = src->st_flags; |