X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=tools%2Ffirmware-utils%2Fsrc%2Ftrx.c;fp=tools%2Ffirmware-utils%2Fsrc%2Ftrx.c;h=1131238a4e7fbca48ad79af44aebf9e300871761;hb=0c0407178e0f768de17a6c71dbb3057cdd270490;hp=787ffa894626ea2cac72c2261a8bda0ae9791a0e;hpb=c57399881171036f92a5d545f535b3ac5dead9a5;p=openwrt-10.03%2F.git diff --git a/tools/firmware-utils/src/trx.c b/tools/firmware-utils/src/trx.c index 787ffa894..1131238a4 100644 --- a/tools/firmware-utils/src/trx.c +++ b/tools/firmware-utils/src/trx.c @@ -88,7 +88,7 @@ int main(int argc, char **argv) char *ofn = NULL; char *buf; char *e; - int c, i; + int c, i, append; size_t n; uint32_t cur_len; unsigned long maxlen = TRX_MAX_LEN; @@ -110,11 +110,15 @@ int main(int argc, char **argv) in = NULL; i = 0; - while ((c = getopt(argc, argv, "-:o:m:a:b:f:")) != -1) { + while ((c = getopt(argc, argv, "-:o:m:a:b:f:A:")) != -1) { switch (c) { + case 'A': + append = 1; + /* fall through */ case 'f': case 1: - p->offsets[i++] = STORE32_LE(cur_len); + if (!append) + p->offsets[i++] = STORE32_LE(cur_len); if (!(in = fopen(optarg, "r"))) { fprintf(stderr, "can not open \"%s\" for reading\n", optarg); @@ -134,6 +138,7 @@ int main(int argc, char **argv) n += ROUND - (n & (ROUND-1)); } cur_len += n; + append = 0; break; case 'o':