-Index: busybox-1.7.2/coreutils/md5_sha1_sum.c
-===================================================================
---- busybox-1.7.2.orig/coreutils/md5_sha1_sum.c 2007-09-03 13:48:39.000000000 +0200
-+++ busybox-1.7.2/coreutils/md5_sha1_sum.c 2007-10-04 15:45:02.423570273 +0200
-@@ -8,75 +8,10 @@
+--- a/include/libbb.h
++++ b/include/libbb.h
+@@ -1214,6 +1214,7 @@
+ extern const char bb_uuenc_tbl_std[];
+ void bb_uuencode(char *store, const void *s, int length, const char *tbl);
+
++typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
+ typedef struct sha1_ctx_t {
+ uint32_t count[2];
+ uint32_t hash[5];
+@@ -1235,6 +1236,8 @@
+ void md5_begin(md5_ctx_t *ctx);
+ void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
+ void *md5_end(void *resbuf, md5_ctx_t *ctx);
++unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
++uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
+
+ uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
+
+--- a/coreutils/md5_sha1_sum.c
++++ b/coreutils/md5_sha1_sum.c
+@@ -8,72 +8,10 @@
#include "libbb.h"
- /* xzalloc zero-terminates */
- char *hex_value = xzalloc((hash_length * 2) + 1);
- bin2hex(hex_value, (char*)hash_value, hash_length);
-- return hex_value;
+- return (unsigned char *)hex_value;
-}
-
-static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
- void (*update)(const void*, size_t, void*);
- void (*final)(void*, void*);
-
-- src_fd = STDIN_FILENO;
-- if (NOT_LONE_DASH(filename)) {
-- src_fd = open_or_warn(filename, O_RDONLY);
-- if (src_fd < 0) {
-- return NULL;
-- }
+- src_fd = open_or_warn_stdin(filename);
+- if (src_fd < 0) {
+- return NULL;
- }
-
- /* figure specific hash algorithims */
- return hash_value;
-}
-
- int md5_sha1_sum_main(int argc, char **argv);
- int md5_sha1_sum_main(int argc, char **argv)
+ int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int md5_sha1_sum_main(int argc ATTRIBUTE_UNUSED, char **argv)
{
-Index: busybox-1.7.2/include/libbb.h
-===================================================================
---- busybox-1.7.2.orig/include/libbb.h 2007-10-04 15:20:22.275221430 +0200
-+++ busybox-1.7.2/include/libbb.h 2007-10-04 15:42:10.585777803 +0200
-@@ -947,6 +947,7 @@
- extern const char bb_uuenc_tbl_std[];
- void bb_uuencode(char *store, const void *s, int length, const char *tbl);
-
-+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
- typedef struct sha1_ctx_t {
- uint32_t count[2];
- uint32_t hash[5];
-@@ -968,6 +969,8 @@
- void md5_begin(md5_ctx_t *ctx);
- void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
- void *md5_end(void *resbuf, md5_ctx_t *ctx);
-+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
-+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
-
- uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
-
-Index: busybox-1.7.2/libbb/Kbuild
-===================================================================
---- busybox-1.7.2.orig/libbb/Kbuild 2007-09-03 13:48:41.000000000 +0200
-+++ busybox-1.7.2/libbb/Kbuild 2007-10-04 15:42:10.613779401 +0200
-@@ -38,6 +38,7 @@
+--- a/libbb/Kbuild
++++ b/libbb/Kbuild
+@@ -40,6 +40,7 @@
lib-y += get_last_path_component.o
lib-y += get_line_from_file.o
lib-y += getopt32.o
+lib-y += hash.o
+ lib-y += getpty.o
lib-y += herror_msg.o
lib-y += herror_msg_and_die.o
- lib-y += human_readable.o
-Index: busybox-1.7.2/libbb/hash.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/libbb/hash.c 2007-10-04 15:45:08.279904000 +0200
-@@ -0,0 +1,81 @@
+--- /dev/null
++++ b/libbb/hash.c
+@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2003 Glenn L. McGrath
+ * Copyright (C) 2003-2004 Erik Andersen
+ void (*update)(const void*, size_t, void*);
+ void (*final)(void*, void*);
+
-+ src_fd = STDIN_FILENO;
-+ if (NOT_LONE_DASH(filename)) {
-+ src_fd = open_or_warn(filename, O_RDONLY);
-+ if (src_fd < 0) {
-+ return NULL;
-+ }
++ src_fd = open_or_warn_stdin(filename);
++ if (src_fd < 0) {
++ return NULL;
+ }
+
+ /* figure specific hash algorithims */