summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Shevchenko <ext-andriy.shevchenko@nokia.com>2011-04-20 12:35:08 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-21 15:43:26 +0300
commitd73400d6ec870b2651b135e75352466e09c2a17f (patch)
tree3c71ec49285cd91fe040aaad8a1f1febe808a8b7
parent748185788e221da15e57b105ea325218edce2bd4 (diff)
mkfs.jffs2: fix casting of __off64_t
The casting of __off64_t to unsigned long potentially wrong for values higher than ULONG_MAX. Let's fix that by using PRIu64 classifier. Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--mkfs.jffs2.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/mkfs.jffs2.c b/mkfs.jffs2.c
index 7bb9ad1..7abaf50 100644
--- a/mkfs.jffs2.c
+++ b/mkfs.jffs2.c
@@ -72,8 +72,9 @@
#endif
#include <byteswap.h>
#include <crc32.h>
-#include "rbtree.h"
+#include <inttypes.h>
+#include "rbtree.h"
#include "common.h"
/* Do not use the weird XPG version of basename */
@@ -1232,8 +1233,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
} else switch (e->sb.st_mode & S_IFMT) {
case S_IFDIR:
if (verbose) {
- printf("\td %04o %9lu %5d:%-3d %s\n",
- e->sb.st_mode & ~S_IFMT, (unsigned long) e->sb.st_size,
+ printf("\td %04o %9" PRIu64 " %5d:%-3d %s\n",
+ e->sb.st_mode & ~S_IFMT, e->sb.st_size,
(int) (e->sb.st_uid), (int) (e->sb.st_gid),
e->name);
}
@@ -1242,8 +1243,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
break;
case S_IFSOCK:
if (verbose) {
- printf("\ts %04o %9lu %5d:%-3d %s\n",
- e->sb.st_mode & ~S_IFMT, (unsigned long) e->sb.st_size,
+ printf("\ts %04o %9" PRIu64 " %5d:%-3d %s\n",
+ e->sb.st_mode & ~S_IFMT, e->sb.st_size,
(int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
}
write_pipe(e);
@@ -1251,8 +1252,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
break;
case S_IFIFO:
if (verbose) {
- printf("\tp %04o %9lu %5d:%-3d %s\n",
- e->sb.st_mode & ~S_IFMT, (unsigned long) e->sb.st_size,
+ printf("\tp %04o %9" PRIu64 " %5d:%-3d %s\n",
+ e->sb.st_mode & ~S_IFMT, e->sb.st_size,
(int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
}
write_pipe(e);
@@ -1280,8 +1281,8 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
break;
case S_IFLNK:
if (verbose) {
- printf("\tl %04o %9lu %5d:%-3d %s -> %s\n",
- e->sb.st_mode & ~S_IFMT, (unsigned long) e->sb.st_size,
+ printf("\tl %04o %9" PRIu64 " %5d:%-3d %s -> %s\n",
+ e->sb.st_mode & ~S_IFMT, e->sb.st_size,
(int) e->sb.st_uid, (int) e->sb.st_gid, e->name,
e->link);
}
@@ -1292,9 +1293,9 @@ static void recursive_populate_directory(struct filesystem_entry *dir)
wrote = write_regular_file(e);
write_xattr_entry(e);
if (verbose) {
- printf("\tf %04o %9lu (%9u) %5d:%-3d %s\n",
- e->sb.st_mode & ~S_IFMT, (unsigned long) e->sb.st_size,
- wrote, (int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
+ printf("\tf %04o %9" PRIu64 " (%9u) %5d:%-3d %s\n",
+ e->sb.st_mode & ~S_IFMT, e->sb.st_size, wrote,
+ (int) e->sb.st_uid, (int) e->sb.st_gid, e->name);
}
break;
default: