diff --git a/library/md_wrap.c b/library/md_wrap.c
index b67b709..9627878 100644
--- a/library/md_wrap.c
+++ b/library/md_wrap.c
@@ -81,7 +81,8 @@
     md2_starts( (md2_context *) ctx );
 }
 
-static void md2_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md2_update_wrap( void *ctx, const unsigned char *input,
+                             size_t ilen )
 {
     md2_update( (md2_context *) ctx, input, ilen );
 }
@@ -102,12 +103,14 @@
 #endif
 }
 
-static void md2_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void md2_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                  size_t keylen )
 {
     md2_hmac_starts( (md2_context *) ctx, key, keylen );
 }
 
-static void md2_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md2_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                  size_t ilen )
 {
     md2_hmac_update( (md2_context *) ctx, input, ilen );
 }
@@ -167,7 +170,8 @@
     md4_starts( (md4_context *) ctx );
 }
 
-static void md4_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md4_update_wrap( void *ctx, const unsigned char *input,
+                             size_t ilen )
 {
     md4_update( (md4_context *) ctx, input, ilen );
 }
@@ -188,12 +192,14 @@
 #endif
 }
 
-static void md4_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void md4_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                  size_t keylen )
 {
     md4_hmac_starts( (md4_context *) ctx, key, keylen );
 }
 
-static void md4_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md4_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                  size_t ilen )
 {
     md4_hmac_update( (md4_context *) ctx, input, ilen );
 }
@@ -251,7 +257,8 @@
     md5_starts( (md5_context *) ctx );
 }
 
-static void md5_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md5_update_wrap( void *ctx, const unsigned char *input,
+                             size_t ilen )
 {
     md5_update( (md5_context *) ctx, input, ilen );
 }
@@ -272,12 +279,14 @@
 #endif
 }
 
-static void md5_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void md5_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                  size_t keylen )
 {
     md5_hmac_starts( (md5_context *) ctx, key, keylen );
 }
 
-static void md5_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void md5_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                  size_t ilen )
 {
     md5_hmac_update( (md5_context *) ctx, input, ilen );
 }
@@ -335,7 +344,8 @@
     ripemd160_starts( (ripemd160_context *) ctx );
 }
 
-static void ripemd160_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void ripemd160_update_wrap( void *ctx, const unsigned char *input,
+                                   size_t ilen )
 {
     ripemd160_update( (ripemd160_context *) ctx, input, ilen );
 }
@@ -356,12 +366,14 @@
 #endif
 }
 
-static void ripemd160_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void ripemd160_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                        size_t keylen )
 {
     ripemd160_hmac_starts( (ripemd160_context *) ctx, key, keylen );
 }
 
-static void ripemd160_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void ripemd160_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                        size_t ilen )
 {
     ripemd160_hmac_update( (ripemd160_context *) ctx, input, ilen );
 }
@@ -419,7 +431,8 @@
     sha1_starts( (sha1_context *) ctx );
 }
 
-static void sha1_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha1_update_wrap( void *ctx, const unsigned char *input,
+                              size_t ilen )
 {
     sha1_update( (sha1_context *) ctx, input, ilen );
 }
@@ -440,12 +453,14 @@
 #endif
 }
 
-static void sha1_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void sha1_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                   size_t keylen )
 {
     sha1_hmac_starts( (sha1_context *) ctx, key, keylen );
 }
 
-static void sha1_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha1_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                   size_t ilen )
 {
     sha1_hmac_update( (sha1_context *) ctx, input, ilen );
 }
@@ -506,7 +521,8 @@
     sha256_starts( (sha256_context *) ctx, 1 );
 }
 
-static void sha224_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha224_update_wrap( void *ctx, const unsigned char *input,
+                                size_t ilen )
 {
     sha256_update( (sha256_context *) ctx, input, ilen );
 }
@@ -533,12 +549,14 @@
 #endif
 }
 
-static void sha224_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void sha224_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                     size_t keylen )
 {
     sha256_hmac_starts( (sha256_context *) ctx, key, keylen, 1 );
 }
 
-static void sha224_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha224_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                     size_t ilen )
 {
     sha256_hmac_update( (sha256_context *) ctx, input, ilen );
 }
@@ -599,7 +617,8 @@
     sha256_starts( (sha256_context *) ctx, 0 );
 }
 
-static void sha256_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha256_update_wrap( void *ctx, const unsigned char *input,
+                                size_t ilen )
 {
     sha256_update( (sha256_context *) ctx, input, ilen );
 }
@@ -626,12 +645,14 @@
 #endif
 }
 
-static void sha256_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void sha256_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                     size_t keylen )
 {
     sha256_hmac_starts( (sha256_context *) ctx, key, keylen, 0 );
 }
 
-static void sha256_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha256_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                     size_t ilen )
 {
     sha256_hmac_update( (sha256_context *) ctx, input, ilen );
 }
@@ -696,7 +717,8 @@
     sha512_starts( (sha512_context *) ctx, 1 );
 }
 
-static void sha384_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha384_update_wrap( void *ctx, const unsigned char *input,
+                                size_t ilen )
 {
     sha512_update( (sha512_context *) ctx, input, ilen );
 }
@@ -723,12 +745,14 @@
 #endif
 }
 
-static void sha384_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void sha384_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                     size_t keylen )
 {
     sha512_hmac_starts( (sha512_context *) ctx, key, keylen, 1 );
 }
 
-static void sha384_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha384_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                     size_t ilen )
 {
     sha512_hmac_update( (sha512_context *) ctx, input, ilen );
 }
@@ -789,7 +813,8 @@
     sha512_starts( (sha512_context *) ctx, 0 );
 }
 
-static void sha512_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha512_update_wrap( void *ctx, const unsigned char *input,
+                                size_t ilen )
 {
     sha512_update( (sha512_context *) ctx, input, ilen );
 }
@@ -816,12 +841,14 @@
 #endif
 }
 
-static void sha512_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
+static void sha512_hmac_starts_wrap( void *ctx, const unsigned char *key,
+                                     size_t keylen )
 {
     sha512_hmac_starts( (sha512_context *) ctx, key, keylen, 0 );
 }
 
-static void sha512_hmac_update_wrap( void *ctx, const unsigned char *input, size_t ilen )
+static void sha512_hmac_update_wrap( void *ctx, const unsigned char *input,
+                                     size_t ilen )
 {
     sha512_hmac_update( (sha512_context *) ctx, input, ilen );
 }
