s3: fix build on platforms without st_blocks and st_blksize stat struct members
authorBjörn Jacke <bj@sernet.de>
Mon, 7 Jun 2010 21:06:28 +0000 (23:06 +0200)
committerKarolin Seeger <kseeger@samba.org>
Sat, 25 Sep 2010 12:53:09 +0000 (14:53 +0200)
This fixes bug 7474.

source3/lib/system.c

index a58d9037a79dc54964c4c72b1688ae95152d501c..1ce635fef60cc15cba058478cc2d0dff016c7333 100644 (file)
@@ -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 / dst->st_ex_blksize + 1;
+#endif
 
 #ifdef HAVE_STAT_ST_FLAGS
        dst->st_ex_flags = src->st_flags;