]> git.sven.stormbind.net Git - sven/exfat-utils.git/blobdiff - mkfs/vbr.c
Imported Upstream version 0.9.7
[sven/exfat-utils.git] / mkfs / vbr.c
index 99535cfd3fef61bd3ac309382ab6700b8763dac7..4580565ea1863be1313f8ae5179475f44ec6f623 100644 (file)
@@ -33,7 +33,7 @@ off_t vbr_size(void)
        return 12 * SECTOR_SIZE(sb);
 }
 
-int vbr_write(off_t base, int fd)
+int vbr_write(struct exfat_dev* dev, off_t base)
 {
        uint32_t checksum;
        le32_t* sector = malloc(SECTOR_SIZE(sb));
@@ -42,7 +42,7 @@ int vbr_write(off_t base, int fd)
        if (sector == NULL)
                return errno;
 
-       if (write(fd, &sb, sizeof(struct exfat_super_block)) == -1)
+       if (exfat_write(dev, &sb, sizeof(struct exfat_super_block)) < 0)
        {
                free(sector);
                return errno;
@@ -53,7 +53,7 @@ int vbr_write(off_t base, int fd)
        sector[SECTOR_SIZE(sb) / sizeof(sector[0]) - 1] = cpu_to_le32(0xaa550000);
        for (i = 0; i < 8; i++)
        {
-               if (write(fd, sector, SECTOR_SIZE(sb)) == -1)
+               if (exfat_write(dev, sector, SECTOR_SIZE(sb)) < 0)
                {
                        free(sector);
                        return errno;
@@ -62,13 +62,13 @@ int vbr_write(off_t base, int fd)
        }
 
        memset(sector, 0, SECTOR_SIZE(sb));
-       if (write(fd, sector, SECTOR_SIZE(sb)) == -1)
+       if (exfat_write(dev, sector, SECTOR_SIZE(sb)) < 0)
        {
                free(sector);
                return errno;
        }
        checksum = exfat_vbr_add_checksum(sector, SECTOR_SIZE(sb), checksum);
-       if (write(fd, sector, SECTOR_SIZE(sb)) == -1)
+       if (exfat_write(dev, sector, SECTOR_SIZE(sb)) < 0)
        {
                free(sector);
                return errno;
@@ -77,7 +77,7 @@ int vbr_write(off_t base, int fd)
 
        for (i = 0; i < SECTOR_SIZE(sb) / sizeof(sector[0]); i++)
                sector[i] = cpu_to_le32(checksum);
-       if (write(fd, sector, SECTOR_SIZE(sb)) == -1)
+       if (exfat_write(dev, sector, SECTOR_SIZE(sb)) < 0)
        {
                free(sector);
                return errno;