From: Matt Cross <[email protected]>

Signed-off-by: Matt Cross <[email protected]>
Signed-off-by: Joshua Judson Rosen <[email protected]>
---
 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

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to