[PATCH 2/2] cksum: support hexadecimal output (new option: -x)
Joshua Judson Rosen
jrosen at harvestai.com
Thu Oct 2 20:16:55 UTC 2014
From: Matt Cross <matt.cross at gmail.com>
Signed-off-by: Matt Cross <matt.cross at gmail.com>
Signed-off-by: Joshua Judson Rosen <jrosen at harvestai.com>
---
coreutils/cksum.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/coreutils/cksum.c b/coreutils/cksum.c
index b45233e..c916689 100644
--- a/coreutils/cksum.c
+++ b/coreutils/cksum.c
@@ -16,10 +16,11 @@
/* This is a NOEXEC applet. Be very careful! */
-#define OPTION_STRING "l"
+#define OPTION_STRING "lx"
enum {
OPT_LITTLE_ENDIAN = (1 << 0),
+ OPT_HEXADECIMAL = (1 << 1),
};
int cksum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@@ -75,8 +76,10 @@ int cksum_main(int argc UNUSED_PARAM, char **argv)
}
crc = ~crc;
- printf((*argv ? "%"PRIu32" %"OFF_FMT"i %s\n" : "%"PRIu32" %"OFF_FMT"i\n"),
- crc, filesize, *argv);
+ printf(((option_mask32 & OPT_HEXADECIMAL)
+ ? (*argv ? "0x%"PRIx32" 0x%"OFF_FMT"x %s\n" : "0x%"PRIx32" 0x%"OFF_FMT"x\n")
+ : (*argv ? "%"PRIu32" %"OFF_FMT"i %s\n" : "%"PRIu32" %"OFF_FMT"i\n")),
+ crc, filesize, *argv);
} while (*argv && *++argv);
fflush_stdout_and_exit(exit_code);
--
1.7.10.4
More information about the busybox
mailing list