summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMichael Grzeschik <m.grzeschik@pengutronix.de>2014-01-26 18:12:21 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-01-27 09:13:12 +0100
commitc54cb7897808afb44c70dda7314e79a83a48630d (patch)
treecaf678c5888eb51821371024e832b95a83f82caa /scripts
parent42193d5b66b34956b3a8daafadf6f8c2edd82a49 (diff)
downloadbarebox-c54cb7897808afb44c70dda7314e79a83a48630d.tar.gz
barebox-c54cb7897808afb44c70dda7314e79a83a48630d.tar.xz
scripts: kwbimage: fix imagebuild on 32bit host system
We have to use strtoul to run the tool working on 32bit systems. Otherwise it will generate signed numbers for strings representing values with the 32nd bit set. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kwbimage.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/scripts/kwbimage.c b/scripts/kwbimage.c
index 82cf21c4c8..cd87456097 100644
--- a/scripts/kwbimage.c
+++ b/scripts/kwbimage.c
@@ -1024,20 +1024,20 @@ static int image_create_config_parse_oneline(char *line,
} else if (!strcmp(keyword, "DESTADDR")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_DEST_ADDR;
- el->dstaddr = strtol(value, NULL, 16);
+ el->dstaddr = strtoul(value, NULL, 16);
} else if (!strcmp(keyword, "EXECADDR")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_EXEC_ADDR;
- el->execaddr = strtol(value, NULL, 16);
+ el->execaddr = strtoul(value, NULL, 16);
} else if (!strcmp(keyword, "NAND_BLKSZ")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_NAND_BLKSZ;
- el->nandblksz = strtol(value, NULL, 16);
+ el->nandblksz = strtoul(value, NULL, 16);
} else if (!strcmp(keyword, "NAND_BADBLK_LOCATION")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_NAND_BADBLK_LOCATION;
el->nandbadblklocation =
- strtol(value, NULL, 16);
+ strtoul(value, NULL, 16);
} else if (!strcmp(keyword, "NAND_ECCMODE")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_NAND_ECC_MODE;
@@ -1050,7 +1050,7 @@ static int image_create_config_parse_oneline(char *line,
} else if (!strcmp(keyword, "NAND_PAGESZ")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_NAND_PAGESZ;
- el->nandpagesz = strtol(value, NULL, 16);
+ el->nandpagesz = strtoul(value, NULL, 16);
} else if (!strcmp(keyword, "BINARY")) {
char *value = strtok_r(NULL, " ", &saveptr);
int argi = 0;
@@ -1061,7 +1061,7 @@ static int image_create_config_parse_oneline(char *line,
value = strtok_r(NULL, " ", &saveptr);
if (!value)
break;
- el->binary.args[argi] = strtol(value, NULL, 16);
+ el->binary.args[argi] = strtoul(value, NULL, 16);
argi++;
if (argi >= BINARY_MAX_ARGS) {
fprintf(stderr,
@@ -1080,8 +1080,8 @@ static int image_create_config_parse_oneline(char *line,
}
el->type = IMAGE_CFG_DATA;
- el->regdata.raddr = strtol(value1, NULL, 16);
- el->regdata.rdata = strtol(value2, NULL, 16);
+ el->regdata.raddr = strtoul(value1, NULL, 16);
+ el->regdata.rdata = strtoul(value2, NULL, 16);
} else if (!strcmp(keyword, "PAYLOAD")) {
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_PAYLOAD;