mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
tools: otrx: allow own magic
This allows to specify an own magic instead of using the default magic value TRX_MAGIC. If no own magic is specified the default one will be used. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
cb740fbe25
commit
4d9f69322c
@ -287,7 +287,6 @@ static int otrx_create_write_hdr(FILE *trx, struct trx_header *hdr) {
|
||||
uint8_t buf[1024];
|
||||
uint32_t crc32;
|
||||
|
||||
hdr->magic = cpu_to_le32(TRX_MAGIC);
|
||||
hdr->version = 1;
|
||||
|
||||
fseek(trx, 0, SEEK_SET);
|
||||
@ -324,9 +323,13 @@ static int otrx_create(int argc, char **argv) {
|
||||
ssize_t sbytes;
|
||||
size_t curr_idx = 0;
|
||||
size_t curr_offset = sizeof(hdr);
|
||||
char *e;
|
||||
uint32_t magic;
|
||||
int c;
|
||||
int err = 0;
|
||||
|
||||
hdr.magic = cpu_to_le32(TRX_MAGIC);
|
||||
|
||||
if (argc < 3) {
|
||||
fprintf(stderr, "No TRX file passed\n");
|
||||
err = -EINVAL;
|
||||
@ -343,7 +346,7 @@ static int otrx_create(int argc, char **argv) {
|
||||
fseek(trx, curr_offset, SEEK_SET);
|
||||
|
||||
optind = 3;
|
||||
while ((c = getopt(argc, argv, "f:A:a:b:")) != -1) {
|
||||
while ((c = getopt(argc, argv, "f:A:a:b:M:")) != -1) {
|
||||
switch (c) {
|
||||
case 'f':
|
||||
if (curr_idx >= TRX_MAX_PARTS) {
|
||||
@ -400,6 +403,14 @@ static int otrx_create(int argc, char **argv) {
|
||||
curr_offset += sbytes;
|
||||
}
|
||||
break;
|
||||
case 'M':
|
||||
errno = 0;
|
||||
magic = strtoul(optarg, &e, 0);
|
||||
if (errno || (e == optarg) || *e)
|
||||
fprintf(stderr, "illegal magic string %s\n", optarg);
|
||||
else
|
||||
hdr.magic = cpu_to_le32(magic);
|
||||
break;
|
||||
}
|
||||
if (err)
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user