]> git.sven.stormbind.net Git - sven/exfat-utils.git/blobdiff - mkfs/main.c
Imported Upstream version 1.0.0
[sven/exfat-utils.git] / mkfs / main.c
index 4d44fa1004e43e31420ba690072b2790aa31ed1f..89dc3d0a34c4bd594f6fce36a862df651239abe7 100644 (file)
@@ -2,7 +2,7 @@
        main.c (15.08.10)
        Creates exFAT file system.
 
-       Copyright (C) 2011, 2012  Andrew Nayenko
+       Copyright (C) 2011-2013  Andrew Nayenko
 
        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
@@ -96,14 +96,6 @@ int get_cluster_size(void)
        return get_sector_size() << get_spc_bits();
 }
 
-static off_t setup_volume_size(struct exfat_dev* dev)
-{
-       off_t size = exfat_seek(dev, 0, SEEK_END);
-       if (size == (off_t) -1)
-               exfat_error("failed to get volume size");
-       return size;
-}
-
 static int setup_spc_bits(int sector_bits, int user_defined, off_t volume_size)
 {
        int i;
@@ -166,10 +158,7 @@ static int setup(struct exfat_dev* dev, int sector_bits, int spc_bits,
 {
        param.sector_bits = sector_bits;
        param.first_sector = first_sector;
-
-       param.volume_size = setup_volume_size(dev);
-       if (param.volume_size == (off_t) -1)
-               return 1;
+       param.volume_size = exfat_get_size(dev);
 
        param.spc_bits = setup_spc_bits(sector_bits, spc_bits, param.volume_size);
        if (param.spc_bits == -1)
@@ -253,7 +242,7 @@ int main(int argc, char* argv[])
                }
                else if (strcmp(*pp, "-v") == 0)
                {
-                       puts("Copyright (C) 2011, 2012  Andrew Nayenko");
+                       puts("Copyright (C) 2011-2013  Andrew Nayenko");
                        return 0;
                }
                else if (spec == NULL)
@@ -264,7 +253,7 @@ int main(int argc, char* argv[])
        if (spec == NULL)
                usage(argv[0]);
 
-       dev = exfat_open(spec, 0);
+       dev = exfat_open(spec, EXFAT_MODE_RW);
        if (dev == NULL)
                return 1;
        if (setup(dev, 9, spc_bits, volume_label, volume_serial,