1From 01c98d5d5d044d9a125abcdbb2f3d771966365b0 Mon Sep 17 00:00:00 2001 2From: mirabilos <m@mirbsd.org> 3Date: Thu, 1 Feb 2018 15:34:07 +0100 4Subject: [PATCH] Instead of doing preprocessor magic, just output off_t as 5 long long 6 7Fix warnings abot PRIdoff_t in libmtd.c, in mtd_read (and mtd_write): 8 9In file included from ../git/lib/libmtd.c:40:0: 10../git/lib/libmtd.c: In function 'mtd_read': 11../git/include/common.h:110:18: warning: format '%ld' expects argument of 12 type 'long int', but argument 5 has type 'off_t {aka long long int}' 13 [-Wformat=] 14 15../git/include/common.h:120:2: note: in expansion of macro 'errmsg' 16 errmsg(fmt, ##__VA_ARGS__); \ 17 ^~~~~~ 18../git/lib/libmtd.c:1082:10: note: in expansion of macro 'sys_errmsg' 19 return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, 20 ^~~~~~~~~~ 21 22/usr/lib/klibc/include/inttypes.h:28:17: note: format string is defined here 23 #define PRId32 "d" 24 25Upstream-Status: Submitted 26 27Signed-off-by: Thorsten Glaser <tg@mirbsd.org> 28--- 29 include/common.h | 18 ------------------ 30 jffsX-utils/mkfs.jffs2.c | 20 ++++++++++---------- 31 lib/libmtd.c | 8 ++++---- 32 misc-utils/flash_erase.c | 6 +++--- 33 misc-utils/flash_otp_write.c | 2 +- 34 misc-utils/ftl_check.c | 2 +- 35 misc-utils/mtd_debug.c | 4 ++-- 36 misc-utils/serve_image.c | 4 ++-- 37 tests/fs-tests/integrity/integck.c | 4 ++-- 38 tests/mtd-tests/nandpagetest.c | 4 ++-- 39 tests/ubi-tests/integ.c | 6 +++--- 40 ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 6 +++--- 41 12 files changed, 33 insertions(+), 51 deletions(-) 42 43diff --git a/include/common.h b/include/common.h 44index f8f72ea..642c212 100644 45--- a/include/common.h 46+++ b/include/common.h 47@@ -70,24 +70,6 @@ extern "C" { 48 #define O_CLOEXEC 0 49 #endif 50 51-/* define a print format specifier for off_t */ 52-#if (SIZEOF_OFF_T >= 8) 53-#define PRIxoff_t PRIx64 54-#define PRIdoff_t PRId64 55-#else 56-#define PRIxoff_t "l"PRIx32 57-#define PRIdoff_t "l"PRId32 58-#endif 59- 60-/* define a print format specifier for loff_t */ 61-#if (SIZEOF_LOFF_T >= 8) 62-#define PRIxloff_t PRIx64 63-#define PRIdloff_t PRId64 64-#else 65-#define PRIxloff_t "l"PRIx32 66-#define PRIdloff_t "l"PRId32 67-#endif 68- 69 /* Verbose messages */ 70 #define bareverbose(verbose, fmt, ...) do { \ 71 if (verbose) \ 72diff --git a/jffsX-utils/mkfs.jffs2.c b/jffsX-utils/mkfs.jffs2.c 73index 9aa6c39..0661786 100644 74--- a/jffsX-utils/mkfs.jffs2.c 75+++ b/jffsX-utils/mkfs.jffs2.c 76@@ -1237,8 +1237,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) 77 } else switch (e->sb.st_mode & S_IFMT) { 78 case S_IFDIR: 79 if (verbose) { 80- printf("\td %04o %9" PRIdoff_t " %5d:%-3d %s\n", 81- e->sb.st_mode & ~S_IFMT, e->sb.st_size, 82+ printf("\td %04o %9lld %5d:%-3d %s\n", 83+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, 84 (int) (e->sb.st_uid), (int) (e->sb.st_gid), 85 e->name); 86 } 87@@ -1247,8 +1247,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) 88 break; 89 case S_IFSOCK: 90 if (verbose) { 91- printf("\ts %04o %9" PRIdoff_t " %5d:%-3d %s\n", 92- e->sb.st_mode & ~S_IFMT, e->sb.st_size, 93+ printf("\ts %04o %9lld %5d:%-3d %s\n", 94+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, 95 (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); 96 } 97 write_pipe(e); 98@@ -1256,8 +1256,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) 99 break; 100 case S_IFIFO: 101 if (verbose) { 102- printf("\tp %04o %9" PRIdoff_t " %5d:%-3d %s\n", 103- e->sb.st_mode & ~S_IFMT, e->sb.st_size, 104+ printf("\tp %04o %9lld %5d:%-3d %s\n", 105+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, 106 (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); 107 } 108 write_pipe(e); 109@@ -1285,8 +1285,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) 110 break; 111 case S_IFLNK: 112 if (verbose) { 113- printf("\tl %04o %9" PRIdoff_t " %5d:%-3d %s -> %s\n", 114- e->sb.st_mode & ~S_IFMT, e->sb.st_size, 115+ printf("\tl %04o %9lld %5d:%-3d %s -> %s\n", 116+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, 117 (int) e->sb.st_uid, (int) e->sb.st_gid, e->name, 118 e->link); 119 } 120@@ -1297,8 +1297,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir) 121 wrote = write_regular_file(e); 122 write_xattr_entry(e); 123 if (verbose) { 124- printf("\tf %04o %9" PRIdoff_t " (%9u) %5d:%-3d %s\n", 125- e->sb.st_mode & ~S_IFMT, e->sb.st_size, wrote, 126+ printf("\tf %04o %9lld (%9u) %5d:%-3d %s\n", 127+ e->sb.st_mode & ~S_IFMT, (long long)e->sb.st_size, wrote, 128 (int) e->sb.st_uid, (int) e->sb.st_gid, e->name); 129 } 130 break; 131diff --git a/lib/libmtd.c b/lib/libmtd.c 132index 86c89ae..f375381 100644 133--- a/lib/libmtd.c 134+++ b/lib/libmtd.c 135@@ -1079,8 +1079,8 @@ int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs, 136 /* Seek to the beginning of the eraseblock */ 137 seek = (off_t)eb * mtd->eb_size + offs; 138 if (lseek(fd, seek, SEEK_SET) != seek) 139- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, 140- mtd->mtd_num, seek); 141+ return sys_errmsg("cannot seek mtd%d to offset %lld", 142+ mtd->mtd_num, (long long)seek); 143 144 while (rd < len) { 145 ret = read(fd, buf + rd, len - rd); 146@@ -1188,8 +1188,8 @@ int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb, 147 if (data) { 148 /* Seek to the beginning of the eraseblock */ 149 if (lseek(fd, seek, SEEK_SET) != seek) 150- return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, 151- mtd->mtd_num, seek); 152+ return sys_errmsg("cannot seek mtd%d to offset %lld", 153+ mtd->mtd_num, (long long)seek); 154 ret = write(fd, data, len); 155 if (ret != len) 156 return sys_errmsg("cannot write %d bytes to mtd%d " 157diff --git a/misc-utils/flash_erase.c b/misc-utils/flash_erase.c 158index 0c9449f..ec4b2e1 100644 159--- a/misc-utils/flash_erase.c 160+++ b/misc-utils/flash_erase.c 161@@ -53,8 +53,8 @@ int target_endian = __BYTE_ORDER; 162 static void show_progress(struct mtd_dev_info *mtd, off_t start, int eb, 163 int eb_start, int eb_cnt) 164 { 165- bareverbose(!quiet, "\rErasing %d Kibyte @ %"PRIxoff_t" -- %2i %% complete ", 166- mtd->eb_size / 1024, start, ((eb - eb_start) * 100) / eb_cnt); 167+ bareverbose(!quiet, "\rErasing %d Kibyte @ %llx -- %2i %% complete ", 168+ mtd->eb_size / 1024, (unsigned long long)start, ((eb - eb_start) * 100) / eb_cnt); 169 fflush(stdout); 170 } 171 172@@ -210,7 +210,7 @@ int main(int argc, char *argv[]) 173 if (!noskipbad) { 174 int ret = mtd_is_bad(&mtd, fd, eb); 175 if (ret > 0) { 176- verbose(!quiet, "Skipping bad block at %08"PRIxoff_t, offset); 177+ verbose(!quiet, "Skipping bad block at %08llx", (unsigned long long)offset); 178 continue; 179 } else if (ret < 0) { 180 if (errno == EOPNOTSUPP) { 181diff --git a/misc-utils/flash_otp_write.c b/misc-utils/flash_otp_write.c 182index b02d0b0..04c96c6 100644 183--- a/misc-utils/flash_otp_write.c 184+++ b/misc-utils/flash_otp_write.c 185@@ -76,7 +76,7 @@ int main(int argc,char *argv[]) 186 return errno; 187 } 188 189- printf("Writing OTP user data on %s at offset 0x%"PRIxoff_t"\n", argv[2], offset); 190+ printf("Writing OTP user data on %s at offset 0x%llx\n", argv[2], (unsigned long long)offset); 191 192 if (mtd_type_is_nand_user(&mtdInfo)) 193 len = mtdInfo.writesize; 194diff --git a/misc-utils/ftl_check.c b/misc-utils/ftl_check.c 195index a853cf4..e854922 100644 196--- a/misc-utils/ftl_check.c 197+++ b/misc-utils/ftl_check.c 198@@ -131,7 +131,7 @@ static void check_partition(int fd) 199 perror("read failed"); 200 break; 201 } 202- printf("\nErase unit %"PRIdoff_t":\n", i); 203+ printf("\nErase unit %lld:\n", (long long)i); 204 if ((hdr2.FormattedSize != hdr.FormattedSize) || 205 (hdr2.NumEraseUnits != hdr.NumEraseUnits) || 206 (hdr2.SerialNumber != hdr.SerialNumber)) 207diff --git a/misc-utils/mtd_debug.c b/misc-utils/mtd_debug.c 208index ac37e23..d65ad36 100644 209--- a/misc-utils/mtd_debug.c 210+++ b/misc-utils/mtd_debug.c 211@@ -160,7 +160,7 @@ retry: 212 if (buf != NULL) 213 free(buf); 214 close(outfd); 215- printf("Copied %zu bytes from address 0x%.8"PRIxoff_t" in flash to %s\n", len, offset, filename); 216+ printf("Copied %zu bytes from address 0x%.8llx in flash to %s\n", len, (unsigned long long)offset, filename); 217 return 0; 218 219 err2: 220@@ -225,7 +225,7 @@ retry: 221 if (buf != NULL) 222 free(buf); 223 fclose(fp); 224- printf("Copied %d bytes from %s to address 0x%.8"PRIxoff_t" in flash\n", len, filename, offset); 225+ printf("Copied %d bytes from %s to address 0x%.8llx in flash\n", len, filename, (unsigned long long)offset); 226 return 0; 227 } 228 229diff --git a/misc-utils/serve_image.c b/misc-utils/serve_image.c 230index f2475d6..6c8c8fb 100644 231--- a/misc-utils/serve_image.c 232+++ b/misc-utils/serve_image.c 233@@ -129,8 +129,8 @@ int main(int argc, char **argv) 234 } 235 236 if (st.st_size % erasesize) { 237- fprintf(stderr, "Image size %" PRIdoff_t " bytes is not a multiple of erasesize %d bytes\n", 238- st.st_size, erasesize); 239+ fprintf(stderr, "Image size %lld bytes is not a multiple of erasesize %d bytes\n", 240+ (long long)st.st_size, erasesize); 241 exit(1); 242 } 243 image = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, rfd, 0); 244diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c 245index 84753d6..0a7f142 100644 246--- a/tests/fs-tests/integrity/integck.c 247+++ b/tests/fs-tests/integrity/integck.c 248@@ -897,8 +897,8 @@ static ssize_t file_write_data(struct file_info *file, int fd, off_t offset, 249 remains = size; 250 actual = 0; 251 written = IO_BUFFER_SIZE; 252- v("write %zd bytes, offset %"PRIdoff_t", file %s", 253- size, offset, get_file_name(file)); 254+ v("write %zd bytes, offset %lld, file %s", 255+ size, (long long)offset, get_file_name(file)); 256 while (remains) { 257 /* Fill up buffer with random data */ 258 if (written < IO_BUFFER_SIZE) { 259diff --git a/tests/mtd-tests/nandpagetest.c b/tests/mtd-tests/nandpagetest.c 260index c6812df..465e548 100644 261--- a/tests/mtd-tests/nandpagetest.c 262+++ b/tests/mtd-tests/nandpagetest.c 263@@ -232,8 +232,8 @@ static int verify_eraseblock(int ebnum) 264 return err; 265 266 if (lseek(fd, addr, SEEK_SET) != addr) { 267- fprintf(stderr, "cannot seek mtd%d to offset %"PRIdloff_t, 268- mtd.mtd_num, addr); 269+ fprintf(stderr, "cannot seek mtd%d to offset %lld", 270+ mtd.mtd_num, (long long)addr); 271 return -1; 272 } 273 274diff --git a/tests/ubi-tests/integ.c b/tests/ubi-tests/integ.c 275index 26c2ce5..1cd0649 100644 276--- a/tests/ubi-tests/integ.c 277+++ b/tests/ubi-tests/integ.c 278@@ -243,7 +243,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) 279 while (size) 280 if (read_buffer[--size] != 0xff) { 281 fprintf(stderr, "block no. = %d\n" , erase_block->block_number); 282- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); 283+ fprintf(stderr, "offset = %lld\n" , (long long)gap_start); 284 fprintf(stderr, "size = %ld\n" , (long) bytes_read); 285 error_exit("verify 0xff failed"); 286 } 287@@ -254,7 +254,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) 288 errno = 0; 289 bytes_read = read(fd, read_buffer, w->size); 290 if (bytes_read != w->size) { 291- fprintf(stderr, "offset = %"PRIdoff_t"\n" , w->offset); 292+ fprintf(stderr, "offset = %lld\n" , (long long)w->offset); 293 fprintf(stderr, "size = %ld\n" , (long) w->size); 294 fprintf(stderr, "bytes_read = %ld\n" , (long) bytes_read); 295 error_exit("read failed"); 296@@ -279,7 +279,7 @@ static void check_erase_block(struct erase_block_info *erase_block, int fd) 297 while (size) 298 if (read_buffer[--size] != 0xff) { 299 fprintf(stderr, "block no. = %d\n" , erase_block->block_number); 300- fprintf(stderr, "offset = %"PRIdoff_t"\n" , gap_start); 301+ fprintf(stderr, "offset = %lld\n" , (long long)gap_start); 302 fprintf(stderr, "size = %ld\n" , (long) bytes_read); 303 error_exit("verify 0xff failed!"); 304 } 305diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c 306index c916f48..f0237ab 100644 307--- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c 308+++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c 309@@ -772,11 +772,11 @@ int write_leb(int lnum, int len, void *buf) 310 return sys_err_msg("ubi_leb_change_start failed"); 311 312 if (lseek(out_fd, pos, SEEK_SET) != pos) 313- return sys_err_msg("lseek failed seeking %"PRIdoff_t, pos); 314+ return sys_err_msg("lseek failed seeking %lld", (long long)pos); 315 316 if (write(out_fd, buf, c->leb_size) != c->leb_size) 317- return sys_err_msg("write failed writing %d bytes at pos %"PRIdoff_t, 318- c->leb_size, pos); 319+ return sys_err_msg("write failed writing %d bytes at pos %lld", 320+ c->leb_size, (long long)pos); 321 322 return 0; 323 } 324-- 3252.7.4 326 327