aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/mtd/src/seama.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2016-06-27 16:08:11 +0200
committerZoltan HERPAI <wigyori@uid0.hu>2016-06-27 16:08:11 +0200
commit39e0bd76b5dc68c0ae1aad177759f6bf30d8d16e (patch)
tree04e578c168b0f2c6edb9154b095623f6647b36fc /package/system/mtd/src/seama.c
parent80763b33dce882073a4cdd4a36c82dc5f119885c (diff)
downloadmaster-187ad058-39e0bd76b5dc68c0ae1aad177759f6bf30d8d16e.tar.gz
master-187ad058-39e0bd76b5dc68c0ae1aad177759f6bf30d8d16e.tar.bz2
master-187ad058-39e0bd76b5dc68c0ae1aad177759f6bf30d8d16e.zip
mtd: support -c (datasize) option for fixseama command
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Diffstat (limited to 'package/system/mtd/src/seama.c')
-rw-r--r--package/system/mtd/src/seama.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/package/system/mtd/src/seama.c b/package/system/mtd/src/seama.c
index f8b677b189..bcda321918 100644
--- a/package/system/mtd/src/seama.c
+++ b/package/system/mtd/src/seama.c
@@ -104,14 +104,13 @@ err_out:
}
int
-mtd_fixseama(const char *mtd, size_t offset)
+mtd_fixseama(const char *mtd, size_t offset, size_t data_size)
{
int fd;
char *first_block;
ssize_t res;
size_t block_offset;
size_t data_offset;
- size_t data_size;
struct seama_entity_header *shdr;
if (quiet < 2)
@@ -155,7 +154,8 @@ mtd_fixseama(const char *mtd, size_t offset)
}
data_offset = offset + sizeof(struct seama_entity_header) + ntohs(shdr->metasize);
- data_size = mtdsize - data_offset;
+ if (!data_size)
+ data_size = mtdsize - data_offset;
if (data_size > ntohl(shdr->size))
data_size = ntohl(shdr->size);
if (seama_fix_md5(shdr, fd, data_offset, data_size))