[PATCH] commands: digest: show area info only if necessary
Antony Pavlov
antonynpavlov at gmail.com
Wed Apr 5 03:02:38 PDT 2017
Area info "0x00000000 ... 0xffffffffffffffff" in digest
commands output is something strange and misleading, e.g.
barebox at 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 at gmail.com>
---
commands/digest.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/commands/digest.c b/commands/digest.c
index 02a9f6f0d..0edbbec32 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");
}
}
--
2.11.0
More information about the barebox
mailing list