d6c4c840ab
Fixes: - http://autobuild.buildroot.net/results/a7364a6b3801d7d18c30c7242c6faf19431fddfd mkfs.c:60:14: error: format '%llu' expects argument of type 'long long unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=] exfat_debug("Volume Length(sectors) : %llu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
145 lines
5.7 KiB
Diff
145 lines
5.7 KiB
Diff
From fb96662501a13c7a82304b2c145146c4a8741bf8 Mon Sep 17 00:00:00 2001
|
||
From: Peter Seiderer <ps.report@gmx.net>
|
||
Date: Sat, 9 May 2020 13:43:37 +0200
|
||
Subject: [PATCH] mkfs/fsck: use PRIu64/PRIx64 to print 64-bit types
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
Change cpu_to_le64()/cpu_to_le32()/cpu_to_le16() defines to
|
||
return determined types (instead of __le64/__le32/__le16) and
|
||
use PRIu64/PRIx64 to print 64-bit types.
|
||
|
||
Fixes:
|
||
|
||
mkfs.c:60:14: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_debug("Volume Length(sectors) : %llu\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
fsck.c:484:13: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_err("too large sector count: %llu\n, expected: %llu\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
fsck.c:851:13: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_err("valid size %llu greater than size %llu: %s\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
fsck.c:930:14: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_debug("start cluster %#x, size %#llx\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
fsck.c:938:13: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_err("invalid size of allocation bitmap. 0x%llx\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
fsck.c:992:13: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
|
||
exfat_err("invalid size of upcase table. 0x%llx\n",
|
||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
[Upstream: https://github.com/exfatprogs/exfatprogs/pull/91]
|
||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||
---
|
||
fsck/fsck.c | 11 ++++++-----
|
||
include/exfat_ondisk.h | 6 +++---
|
||
mkfs/mkfs.c | 3 ++-
|
||
3 files changed, 11 insertions(+), 9 deletions(-)
|
||
|
||
diff --git a/fsck/fsck.c b/fsck/fsck.c
|
||
index 9e04407..6b48a17 100644
|
||
--- a/fsck/fsck.c
|
||
+++ b/fsck/fsck.c
|
||
@@ -8,6 +8,7 @@
|
||
#include <stdlib.h>
|
||
#include <stdio.h>
|
||
#include <getopt.h>
|
||
+#include <inttypes.h>
|
||
#include <string.h>
|
||
#include <errno.h>
|
||
#include <locale.h>
|
||
@@ -481,7 +482,7 @@ static bool exfat_boot_region_check(struct exfat *exfat)
|
||
|
||
if (le64_to_cpu(bs->bsx.vol_length) * EXFAT_SECTOR_SIZE(bs) >
|
||
exfat->blk_dev->size) {
|
||
- exfat_err("too large sector count: %llu\n, expected: %llu\n",
|
||
+ exfat_err("too large sector count: %" PRIu64 "\n, expected: %llu\n",
|
||
le64_to_cpu(bs->bsx.vol_length),
|
||
exfat->blk_dev->num_sectors);
|
||
goto err;
|
||
@@ -848,7 +849,7 @@ static int read_file_dentries(struct exfat_de_iter *iter,
|
||
|
||
if (le64_to_cpu(stream_de->stream_valid_size) > node->size) {
|
||
resolve_path_parent(&path_resolve_ctx, iter->parent, node);
|
||
- exfat_err("valid size %llu greater than size %llu: %s\n",
|
||
+ exfat_err("valid size %" PRIu64 " greater than size %llu: %s\n",
|
||
le64_to_cpu(stream_de->stream_valid_size), node->size,
|
||
path_resolve_ctx.local_path);
|
||
goto err;
|
||
@@ -927,7 +928,7 @@ static bool read_alloc_bitmap(struct exfat_de_iter *iter)
|
||
if (exfat_de_iter_get(iter, 0, &dentry))
|
||
return false;
|
||
|
||
- exfat_debug("start cluster %#x, size %#llx\n",
|
||
+ exfat_debug("start cluster %#x, size %#" PRIx64 "\n",
|
||
le32_to_cpu(dentry->bitmap_start_clu),
|
||
le64_to_cpu(dentry->bitmap_size));
|
||
|
||
@@ -935,7 +936,7 @@ static bool read_alloc_bitmap(struct exfat_de_iter *iter)
|
||
|
||
if (le64_to_cpu(dentry->bitmap_size) <
|
||
DIV_ROUND_UP(exfat->bit_count, 8)) {
|
||
- exfat_err("invalid size of allocation bitmap. 0x%llx\n",
|
||
+ exfat_err("invalid size of allocation bitmap. 0x%" PRIx64 "\n",
|
||
le64_to_cpu(dentry->bitmap_size));
|
||
return false;
|
||
}
|
||
@@ -989,7 +990,7 @@ static bool read_upcase_table(struct exfat_de_iter *iter)
|
||
size = (size_t)le64_to_cpu(dentry->upcase_size);
|
||
if (size > EXFAT_MAX_UPCASE_CHARS * sizeof(__le16) ||
|
||
size == 0 || size % sizeof(__le16)) {
|
||
- exfat_err("invalid size of upcase table. 0x%llx\n",
|
||
+ exfat_err("invalid size of upcase table. 0x%" PRIx64 "\n",
|
||
le64_to_cpu(dentry->upcase_size));
|
||
return false;
|
||
}
|
||
diff --git a/include/exfat_ondisk.h b/include/exfat_ondisk.h
|
||
index ae2827b..70546a3 100644
|
||
--- a/include/exfat_ondisk.h
|
||
+++ b/include/exfat_ondisk.h
|
||
@@ -26,9 +26,9 @@
|
||
#define cpu_to_le64(x) (x)
|
||
#endif
|
||
|
||
-#define le64_to_cpu(x) cpu_to_le64(x)
|
||
-#define le32_to_cpu(x) cpu_to_le32(x)
|
||
-#define le16_to_cpu(x) cpu_to_le16(x)
|
||
+#define le64_to_cpu(x) ((uint64_t)cpu_to_le64(x))
|
||
+#define le32_to_cpu(x) ((uint32_t)cpu_to_le32(x))
|
||
+#define le16_to_cpu(x) ((uint16_t)cpu_to_le16(x))
|
||
|
||
#define PBR_SIGNATURE 0xAA55
|
||
|
||
diff --git a/mkfs/mkfs.c b/mkfs/mkfs.c
|
||
index 021a51a..87035ef 100644
|
||
--- a/mkfs/mkfs.c
|
||
+++ b/mkfs/mkfs.c
|
||
@@ -13,6 +13,7 @@
|
||
#include <sys/ioctl.h>
|
||
#include <fcntl.h>
|
||
#include <getopt.h>
|
||
+#include <inttypes.h>
|
||
#include <errno.h>
|
||
#include <math.h>
|
||
#include <locale.h>
|
||
@@ -57,7 +58,7 @@ static void exfat_setup_boot_sector(struct pbr *ppbr,
|
||
memset(ppbr->boot_code, 0, 390);
|
||
ppbr->signature = cpu_to_le16(PBR_SIGNATURE);
|
||
|
||
- exfat_debug("Volume Length(sectors) : %llu\n",
|
||
+ exfat_debug("Volume Length(sectors) : %" PRIu64 "\n",
|
||
le64_to_cpu(pbsx->vol_length));
|
||
exfat_debug("FAT Offset(sector offset) : %u\n",
|
||
le32_to_cpu(pbsx->fat_offset));
|
||
--
|
||
2.26.2
|
||
|