Superficial changes
diff --git a/libbb/hash_fd.c b/libbb/hash_fd.c
index b95c136..ad0e4f4 100644
--- a/libbb/hash_fd.c
+++ b/libbb/hash_fd.c
@@ -106,13 +106,13 @@
     e = d; d = c; c = rotl32(b, 30); b = t
 
 /* type to hold the SHA1 context  */
-typedef struct {
+typedef struct sha1_ctx_s {
 	uint32_t count[2];
 	uint32_t hash[5];
 	uint32_t wbuf[16];
-} sha1_ctx;
+} sha1_ctx_t;
 
-static void sha1_compile(sha1_ctx ctx[1])
+static void sha1_compile(sha1_ctx_t *ctx)
 {
 	uint32_t w[80], i, a, b, c, d, e, t;
 
@@ -154,7 +154,7 @@
 	ctx->hash[4] += e;
 }
 
-static void sha1_begin(sha1_ctx ctx[1])
+static void sha1_begin(sha1_ctx_t *ctx)
 {
 	ctx->count[0] = ctx->count[1] = 0;
 	ctx->hash[0] = 0x67452301;
@@ -166,7 +166,7 @@
 
 /* SHA1 hash data in an array of bytes into hash buffer and call the        */
 /* hash_compile function as required.                                       */
-static void sha1_hash(const unsigned char data[], unsigned int len, sha1_ctx ctx[1])
+static void sha1_hash(const unsigned char data[], unsigned int len, sha1_ctx_t *ctx)
 {
 	uint32_t pos = (uint32_t) (ctx->count[0] & SHA1_MASK),
 		freeb = SHA1_BLOCK_SIZE - pos;
@@ -196,7 +196,7 @@
 static uint32_t bits[4] = { 0x80000000, 0x00800000, 0x00008000, 0x00000080 };
 # endif /* __BYTE_ORDER */
 
-void sha1_end(unsigned char hval[], sha1_ctx ctx[1])
+void sha1_end(unsigned char hval[], sha1_ctx_t *ctx)
 {
 	uint32_t i, cnt = (uint32_t) (ctx->count[0] & SHA1_MASK);
 
@@ -288,7 +288,7 @@
 typedef u_int32_t md5_uint32;
 
 /* Structure to save state of computation between the single steps.  */
-struct md5_ctx {
+typedef struct md5_ctx_s {
 	md5_uint32 A;
 	md5_uint32 B;
 	md5_uint32 C;
@@ -297,12 +297,12 @@
 	md5_uint32 total[2];
 	md5_uint32 buflen;
 	char buffer[128];
-};
+} md5_ctx_t;
 
 /* Initialize structure containing state of computation.
  * (RFC 1321, 3.3: Step 3)
  */
-static void md5_begin(struct md5_ctx *ctx)
+static void md5_begin(md5_ctx_t *ctx)
 {
 	ctx->A = 0x67452301;
 	ctx->B = 0xefcdab89;
@@ -328,8 +328,7 @@
  * starting at BUFFER.
  * It is necessary that LEN is a multiple of 64!!!
  */
-static void md5_hash_block(const void *buffer, size_t len,
-						   struct md5_ctx *ctx)
+static void md5_hash_block(const void *buffer, size_t len, md5_ctx_t *ctx)
 {
 	md5_uint32 correct_words[16];
 	const md5_uint32 *words = buffer;
@@ -670,8 +669,7 @@
  * It is NOT required that LEN is a multiple of 64.
  */
 
-static void md5_hash_bytes(const void *buffer, size_t len,
-						   struct md5_ctx *ctx)
+static void md5_hash_bytes(const void *buffer, size_t len, md5_ctx_t *ctx)
 {
 	/* When we already have some bits in our internal buffer concatenate
 	   both inputs first.  */
@@ -716,7 +714,7 @@
  * IMPORTANT: On some systems it is required that RESBUF is correctly
  * aligned for a 32 bits value.
  */
-static void *md5_end(void *resbuf, struct md5_ctx *ctx)
+static void *md5_end(void *resbuf, md5_ctx_t *ctx)
 {
 	/* Take yet unprocessed bytes into account.  */
 	md5_uint32 bytes = ctx->buflen;
@@ -770,10 +768,10 @@
 	unsigned int blocksize = 0;
 	unsigned char *buffer = NULL;
 #ifdef CONFIG_SHA1SUM
-	sha1_ctx sha1_cx[1];
+	sha1_ctx_t sha1_cx;
 #endif
 #ifdef CONFIG_MD5SUM
-	struct md5_ctx md5_cx;
+	md5_ctx_t md5_cx;
 #endif
 
 
@@ -794,7 +792,7 @@
 	/* Initialize the computation context.  */
 #ifdef CONFIG_SHA1SUM
 	if (hash_algo == HASH_SHA1) {
-		sha1_begin(sha1_cx);
+		sha1_begin(&sha1_cx);
 	}
 #endif
 #ifdef CONFIG_MD5SUM
@@ -817,7 +815,7 @@
 		/* Process buffer */
 #ifdef CONFIG_SHA1SUM
 		if (hash_algo == HASH_SHA1) {
-			sha1_hash(buffer, count, sha1_cx);
+			sha1_hash(buffer, count, &sha1_cx);
 		}
 #endif
 #ifdef CONFIG_MD5SUM
@@ -834,7 +832,7 @@
 	/* Finalize and write the hash into our buffer.  */
 #ifdef CONFIG_SHA1SUM
 	if (hash_algo == HASH_SHA1) {
-		sha1_end(hashval, sha1_cx);
+		sha1_end(hashval, &sha1_cx);
 	}
 #endif
 #ifdef CONFIG_MD5SUM