Whamcloud - gitweb
Many files:
[tools/e2fsprogs.git] / lib / ext2fs / closefs.c
index 4678d9e..cdc8597 100644 (file)
@@ -10,7 +10,9 @@
  */
 
 #include <stdio.h>
+#if HAVE_UNISTD_H
 #include <unistd.h>
+#endif
 #include <stdlib.h>
 #include <time.h>
 #include <string.h>
@@ -56,8 +58,8 @@ int ext2fs_bg_has_super(ext2_filsys fs, int group_block)
 
 errcode_t ext2fs_flush(ext2_filsys fs)
 {
-       int             i,j,maxgroup;
-       int             group_block;
+       dgrp_t          i,j,maxgroup;
+       blk_t           group_block;
        errcode_t       retval;
        char            *group_ptr;
        unsigned long   fs_state;
@@ -74,9 +76,11 @@ errcode_t ext2fs_flush(ext2_filsys fs)
                retval = ENOMEM;
                if (!(super_shadow = malloc(SUPERBLOCK_SIZE)))
                        goto errout;
-               if (!(group_shadow = malloc(fs->blocksize*fs->desc_blocks)))
+               if (!(group_shadow = malloc((size_t) fs->blocksize *
+                                           fs->desc_blocks)))
                        goto errout;
-               memset(group_shadow, 0, fs->blocksize*fs->desc_blocks);
+               memset(group_shadow, 0, (size_t) fs->blocksize *
+                      fs->desc_blocks);
 
                /* swap the superblock */
                *super_shadow = *fs->super;