diff options
author | Antony Pavlov <antonynpavlov@gmail.com> | 2017-04-05 13:02:38 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-04-06 08:59:00 +0200 |
commit | 3358d27d89b03e3117e779a04301aa327eda2ea2 (patch) | |
tree | c578726c4a397e23eb002be5ef8f8caa680eac01 /commands/digest.c | |
parent | 99a2e09401bba6ef5894c2e07f701d114f7ad5ef (diff) | |
download | barebox-3358d27d89b03e3117e779a04301aa327eda2ea2.tar.gz barebox-3358d27d89b03e3117e779a04301aa327eda2ea2.tar.xz |
commands: digest: show area info only if necessary
Area info "0x00000000 ... 0xffffffffffffffff" in digest
commands output is something strange and misleading, e.g.
barebox@barebox sandbox:/ md5sum logo/barebox-logo-240.png
d3226a0eba3fd49af6bd190b077a3466 logo/barebox-logo-240.png 0x00000000 ... 0xffffffffffffffff
Also skipping area info in the barebox digets commands
output for every file makes it more similar to traditional
*nix digest commands output.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/digest.c')
-rw-r--r-- | commands/digest.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/commands/digest.c b/commands/digest.c index 02a9f6f0de..0edbbec32c 100644 --- a/commands/digest.c +++ b/commands/digest.c @@ -36,12 +36,16 @@ int __do_digest(struct digest *d, unsigned char *sig, while (*argv) { char *filename = "/dev/mem"; loff_t start = 0, size = ~0; + int show_area = 1; /* arguments are either file, file+area or area */ if (parse_area_spec(*argv, &start, &size)) { filename = *argv; - if (argv[1] && !parse_area_spec(argv[1], &start, &size)) + show_area = 0; + if (argv[1] && !parse_area_spec(argv[1], &start, &size)) { argv++; + show_area = 1; + } } ret = digest_file_window(d, filename, @@ -53,8 +57,12 @@ int __do_digest(struct digest *d, unsigned char *sig, for (i = 0; i < digest_length(d); i++) printf("%02x", hash[i]); - printf(" %s\t0x%08llx ... 0x%08llx\n", - filename, start, start + size); + printf(" %s", filename); + if (show_area) + printf("\t0x%08llx ... 0x%08llx", + start, start + size); + + puts("\n"); } } |