summaryrefslogtreecommitdiff
path: root/package/dosfstools/patches/patch-src_boot_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/dosfstools/patches/patch-src_boot_c')
-rw-r--r--package/dosfstools/patches/patch-src_boot_c77
1 files changed, 77 insertions, 0 deletions
diff --git a/package/dosfstools/patches/patch-src_boot_c b/package/dosfstools/patches/patch-src_boot_c
new file mode 100644
index 000000000..cd2dd927d
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_boot_c
@@ -0,0 +1,77 @@
+--- dosfstools-3.0.26.orig/src/boot.c 2014-01-17 07:06:54.000000000 +0100
++++ dosfstools-3.0.26/src/boot.c 2014-03-26 13:20:59.000000000 +0100
+@@ -155,7 +155,7 @@ static void check_backup_boot(DOS_FS * f
+ fs->backupboot_start = bbs * lss;
+ b->backup_boot = htole16(bbs);
+ fs_write(fs->backupboot_start, sizeof(*b), b);
+- fs_write((loff_t) offsetof(struct boot_sector, backup_boot),
++ fs_write((off_t) offsetof(struct boot_sector, backup_boot),
+ sizeof(b->backup_boot), &b->backup_boot);
+ printf("Created backup of boot sector in sector %d\n", bbs);
+ return;
+@@ -233,9 +233,9 @@ static void read_fsinfo(DOS_FS * fs, str
+ break;
+ if (s > 0 && s < le16toh(b->reserved)) {
+ init_fsinfo(&i);
+- fs_write((loff_t) s * lss, sizeof(i), &i);
++ fs_write((off_t) s * lss, sizeof(i), &i);
+ b->info_sector = htole16(s);
+- fs_write((loff_t) offsetof(struct boot_sector, info_sector),
++ fs_write((off_t) offsetof(struct boot_sector, info_sector),
+ sizeof(b->info_sector), &b->info_sector);
+ if (fs->backupboot_start)
+ fs_write(fs->backupboot_start +
+@@ -327,7 +327,7 @@ void read_boot(DOS_FS * fs)
+ unsigned total_sectors;
+ unsigned short logical_sector_size, sectors;
+ unsigned fat_length;
+- loff_t data_size;
++ off_t data_size;
+
+ fs_read(0, sizeof(b), &b);
+ logical_sector_size = GET_UNALIGNED_W(b.sector_size);
+@@ -352,18 +352,18 @@ void read_boot(DOS_FS * fs)
+ if (verbose)
+ printf("Checking we can access the last sector of the filesystem\n");
+ /* Can't access last odd sector anyway, so round down */
+- fs_test((loff_t) ((total_sectors & ~1) - 1) * (loff_t) logical_sector_size,
++ fs_test((off_t) ((total_sectors & ~1) - 1) * (off_t) logical_sector_size,
+ logical_sector_size);
+ fat_length = le16toh(b.fat_length) ?
+ le16toh(b.fat_length) : le32toh(b.fat32_length);
+- fs->fat_start = (loff_t) le16toh(b.reserved) * logical_sector_size;
+- fs->root_start = ((loff_t) le16toh(b.reserved) + b.fats * fat_length) *
++ fs->fat_start = (off_t) le16toh(b.reserved) * logical_sector_size;
++ fs->root_start = ((off_t) le16toh(b.reserved) + b.fats * fat_length) *
+ logical_sector_size;
+ fs->root_entries = GET_UNALIGNED_W(b.dir_entries);
+ fs->data_start = fs->root_start + ROUND_TO_MULTIPLE(fs->root_entries <<
+ MSDOS_DIR_BITS,
+ logical_sector_size);
+- data_size = (loff_t) total_sectors *logical_sector_size - fs->data_start;
++ data_size = (off_t) total_sectors *logical_sector_size - fs->data_start;
+ fs->clusters = data_size / fs->cluster_size;
+ fs->root_cluster = 0; /* indicates standard, pre-FAT32 root dir */
+ fs->fsinfo_start = 0; /* no FSINFO structure */
+@@ -491,10 +491,10 @@ static void write_boot_label(DOS_FS * fs
+ }
+ }
+
+-loff_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
++off_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
+ {
+ uint32_t cluster;
+- loff_t offset;
++ off_t offset;
+ int i;
+
+ if (fs->root_cluster) {
+@@ -525,7 +525,7 @@ static void write_volume_label(DOS_FS *
+ {
+ time_t now = time(NULL);
+ struct tm *mtime = localtime(&now);
+- loff_t offset;
++ off_t offset;
+ int created;
+ DIR_ENT de;
+