X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fsha1.c;h=b787942891014dcc36c155f8983bf38f508b7e19;hp=ca1ad0eb6c5fac90c95da6e7a86ef13f1e0a091e;hb=276f9f9f9658f4a8bafd6216db46760abe8c848d;hpb=14baa6ae892debbaa18dba8119931580efd0e517 diff --git a/src/sha1.c b/src/sha1.c index ca1ad0eb..b7879428 100644 --- a/src/sha1.c +++ b/src/sha1.c @@ -45,7 +45,8 @@ const u8 zero_hash[SHA1_HASH_SIZE] = { #ifndef WITH_LIBCRYPTO /* Initialize new context */ -void sha1_init(SHA_CTX* context) +void +sha1_init(SHA_CTX* context) { /* SHA1 initialization constants */ context->state[0] = 0x67452301; @@ -57,9 +58,11 @@ void sha1_init(SHA_CTX* context) } #ifdef ENABLE_SSSE3_SHA1 -extern void sha1_update_intel(int *hash, const char* input, size_t num_blocks); +extern void +sha1_update_intel(int *hash, const void* input, size_t num_blocks); -void sha1_update(SHA_CTX *context, const u8 data[], size_t len) +void +sha1_update(SHA_CTX *context, const void *data, size_t len) { sha1_update_intel((int*)&context->state, data, len / 64); size_t j = (context->count[0] >> 3) & 63; @@ -67,7 +70,8 @@ void sha1_update(SHA_CTX *context, const u8 data[], size_t len) context->count[1] += (len >> 29); } #include -void ssse3_not_found() +void +ssse3_not_found() { fprintf(stderr, "Cannot calculate SHA1 message digest: CPU does not support SSSE3\n" @@ -99,7 +103,8 @@ void ssse3_not_found() #define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); /* Hash a single 512-bit block. This is the core of the algorithm. */ -static void sha1_transform(u32 state[5], const u8 buffer[64]) +static void +sha1_transform(u32 state[5], const u8 buffer[64]) { u32 a, b, c, d, e; typedef union { @@ -149,7 +154,8 @@ static void sha1_transform(u32 state[5], const u8 buffer[64]) state[4] += e; } -void sha1_update(SHA_CTX* context, const u8 data[], const size_t len) +void +sha1_update(SHA_CTX* context, const void *data, const size_t len) { size_t i, j; @@ -167,13 +173,14 @@ void sha1_update(SHA_CTX* context, const u8 data[], const size_t len) } else { i = 0; } - memcpy(&context->buffer[j], &data[i], len - i); + memcpy(&context->buffer[j], data + i, len - i); } #endif /* !ENABLE_SSSE3_SHA1 */ /* Add padding and return the message digest. */ -void sha1_final(u8 md[SHA1_HASH_SIZE], SHA_CTX* context) +void +sha1_final(u8 md[SHA1_HASH_SIZE], SHA_CTX* context) { u32 i; u8 finalcount[8]; @@ -192,7 +199,8 @@ void sha1_final(u8 md[SHA1_HASH_SIZE], SHA_CTX* context) } } -void sha1_buffer(const u8 buffer[], size_t len, u8 md[SHA1_HASH_SIZE]) +void +sha1_buffer(const void *buffer, size_t len, u8 md[SHA1_HASH_SIZE]) { SHA_CTX ctx; sha1_init(&ctx); @@ -202,7 +210,8 @@ void sha1_buffer(const u8 buffer[], size_t len, u8 md[SHA1_HASH_SIZE]) #endif /* !WITH_LIBCRYPTO */ -static int sha1_stream(FILE *fp, u8 md[SHA1_HASH_SIZE]) +static int +sha1_stream(FILE *fp, u8 md[SHA1_HASH_SIZE]) { char buf[BUFFER_SIZE]; size_t bytes_read; @@ -225,21 +234,21 @@ static int sha1_stream(FILE *fp, u8 md[SHA1_HASH_SIZE]) /* Calculates the SHA1 message digest of a file. @md must point to a buffer of * length 20 bytes into which the message digest is written. */ int -sha1sum(const mbchar *filename, u8 md[SHA1_HASH_SIZE]) +sha1sum(const tchar *filename, u8 md[SHA1_HASH_SIZE]) { FILE *fp; int ret; - fp = fopen(filename, "rb"); + fp = tfopen(filename, T("rb")); if (!fp) { - ERROR_WITH_ERRNO("Cannot open the file `%s' for reading", + ERROR_WITH_ERRNO("Cannot open the file `%"TS"' for reading", filename); return WIMLIB_ERR_OPEN; } ret = sha1_stream(fp, md); if (ret != 0) { ERROR_WITH_ERRNO("Error calculating SHA1 message digest of " - "`%s'", filename); + "`%"TS"'", filename); } fclose(fp); return ret;