Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 1 | From 01c98d5d5d044d9a125abcdbb2f3d771966365b0 Mon Sep 17 00:00:00 2001 |
| 2 | From: mirabilos <m@mirbsd.org> |
| 3 | Date: Thu, 1 Feb 2018 15:34:07 +0100 |
| 4 | Subject: [PATCH] Instead of doing preprocessor magic, just output off_t as |
| 5 | long long |
| 6 | |
| 7 | Fix warnings abot PRIdoff_t in libmtd.c, in mtd_read (and mtd_write): |
| 8 | |
| 9 | In 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 | |
| 25 | Upstream-Status: Submitted |
| 26 | |
| 27 | Signed-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 | |
| 43 | diff --git a/include/common.h b/include/common.h |
| 44 | index 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) \ |
| 72 | diff --git a/jffsX-utils/mkfs.jffs2.c b/jffsX-utils/mkfs.jffs2.c |
| 73 | index 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; |
| 131 | diff --git a/lib/libmtd.c b/lib/libmtd.c |
| 132 | index 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 " |
| 157 | diff --git a/misc-utils/flash_erase.c b/misc-utils/flash_erase.c |
| 158 | index 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) { |
| 181 | diff --git a/misc-utils/flash_otp_write.c b/misc-utils/flash_otp_write.c |
| 182 | index 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; |
| 194 | diff --git a/misc-utils/ftl_check.c b/misc-utils/ftl_check.c |
| 195 | index 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)) |
| 207 | diff --git a/misc-utils/mtd_debug.c b/misc-utils/mtd_debug.c |
| 208 | index 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 | |
| 229 | diff --git a/misc-utils/serve_image.c b/misc-utils/serve_image.c |
| 230 | index 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); |
| 244 | diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c |
| 245 | index 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) { |
| 259 | diff --git a/tests/mtd-tests/nandpagetest.c b/tests/mtd-tests/nandpagetest.c |
| 260 | index 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 | |
| 274 | diff --git a/tests/ubi-tests/integ.c b/tests/ubi-tests/integ.c |
| 275 | index 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 | } |
| 305 | diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c |
| 306 | index 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 | -- |
| 325 | 2.7.4 |
| 326 | |