@@ -149,7 +149,7 @@ AM_COND_IF([WITHOUT_LZO], [], [
test "${have_lzo}" != "yes" && AC_MSG_ERROR([lzo missing])
])
-AC_CHECK_SIZEOF([long])
+AC_CHECK_SIZEOF([off_t])
AC_CHECK_SIZEOF([loff_t])
@@ -70,17 +70,21 @@ extern "C" {
#endif
/* define a print format specifier for off_t */
-#ifdef __USE_FILE_OFFSET64
+#if (SIZEOF_OFF_T >= 8)
#define PRIxoff_t PRIx64
#define PRIdoff_t PRId64
#else
-#if (SIZEOF_LONG == SIZEOF_LOFF_T)
#define PRIxoff_t "l"PRIx32
#define PRIdoff_t "l"PRId32
-#else
-#define PRIxoff_t "ll"PRIx32
-#define PRIdoff_t "ll"PRId32
#endif
+
+/* define a print format specifier for loff_t */
+#if (SIZEOF_LOFF_T >= 8)
+#define PRIxloff_t PRIx64
+#define PRIdloff_t PRId64
+#else
+#define PRIxloff_t "l"PRIx32
+#define PRIdloff_t "l"PRId32
#endif
/* Verbose messages */
@@ -230,7 +230,7 @@ static int verify_eraseblock(int ebnum)
return err;
if (lseek(fd, addr, SEEK_SET) != addr) {
- fprintf(stderr, "cannot seek mtd%d to offset %"PRIdoff_t,
+ fprintf(stderr, "cannot seek mtd%d to offset %"PRIdloff_t,
mtd.mtd_num, addr);
return -1;
}