diff options
author | Brian Norris <computersforpeace@gmail.com> | 2010-11-03 01:27:23 -0700 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-11-13 13:50:25 +0200 |
commit | cba5e67f354b16727f2417d63d726ae1cda70733 (patch) | |
tree | e897b075138d69baa6535b6124cd8fb383991184 /nandwrite.c | |
parent | af88c36dbda09ab38f274956ed3f2d1ddd62e3fb (diff) |
mtd-utils: nandwrite: Use 64-bit offset
To support large NAND devices, we need 64-bit data types for
write offsets. This patch makes data type changes along with
their corresponding printf() formats and the input conversion
(i.e., use "strtoll()" instead of "strol()").
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'nandwrite.c')
-rw-r--r-- | nandwrite.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/nandwrite.c b/nandwrite.c index d05d257..b362c29 100644 --- a/nandwrite.c +++ b/nandwrite.c @@ -109,7 +109,7 @@ static void display_version(void) static const char *standard_input = "-"; static const char *mtd_device, *img; -static int mtdoffset = 0; +static long long mtdoffset = 0; static bool quiet = false; static bool writeoob = false; static bool rawoob = false; @@ -201,7 +201,7 @@ static void process_options(int argc, char * const argv[]) writeoob = true; break; case 's': - mtdoffset = strtol(optarg, NULL, 0); + mtdoffset = strtoll(optarg, NULL, 0); break; case 'b': blockalign = atoi(optarg); @@ -213,7 +213,7 @@ static void process_options(int argc, char * const argv[]) } if (mtdoffset < 0) { - fprintf(stderr, "Can't specify a negative device offset `%d'\n", + fprintf(stderr, "Can't specify a negative device offset `%lld'\n", mtdoffset); exit(EXIT_FAILURE); } @@ -259,7 +259,7 @@ int main(int argc, char * const argv[]) int ifd = -1; int imglen = 0, pagelen; bool baderaseblock = false; - int blockstart = -1; + long long blockstart = -1; struct mtd_dev_info mtd; struct mtd_oob_buf oob; loff_t offs; @@ -480,7 +480,7 @@ int main(int argc, char * const argv[]) baderaseblock = false; if (!quiet) - fprintf(stdout, "Writing data to block %d at offset 0x%x\n", + fprintf(stdout, "Writing data to block %lld at offset 0x%llx\n", blockstart / ebsize_aligned, blockstart); /* Check all the blocks in an erase block for bad blocks */ @@ -494,7 +494,7 @@ int main(int argc, char * const argv[]) baderaseblock = true; if (!quiet) fprintf(stderr, "Bad block at %x, %u block(s) " - "from %x will be skipped\n", + "from %llx will be skipped\n", (int) offs, blockalign, blockstart); } |