diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-15 14:59:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-15 14:59:20 +0000 |
commit | aadebb29da14b65f47cf3e08ac164e6fe191febe (patch) | |
tree | 24a6148536d413890c668b7ce50e10942188711a /ext/digest/sha1 | |
parent | 6046b9f149ec748a11d7b23c6cf485fb3e079e5a (diff) | |
download | ruby-aadebb29da14b65f47cf3e08ac164e6fe191febe.tar.gz |
ext/digest: return values of init and final
* ext/digest: make built-in digest function implementations
indicate success or failure of init and final functions.
[ruby-core:61614] [Bug #9659]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/digest/sha1')
-rw-r--r-- | ext/digest/sha1/sha1.c | 6 | ||||
-rw-r--r-- | ext/digest/sha1/sha1.h | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/ext/digest/sha1/sha1.c b/ext/digest/sha1/sha1.c index 6196ca6b82..5311227549 100644 --- a/ext/digest/sha1/sha1.c +++ b/ext/digest/sha1/sha1.c @@ -199,7 +199,7 @@ void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64]) /* * SHA1_Init - Initialize new context */ -void SHA1_Init(SHA1_CTX *context) +int SHA1_Init(SHA1_CTX *context) { _DIAGASSERT(context != 0); @@ -211,6 +211,7 @@ void SHA1_Init(SHA1_CTX *context) context->state[3] = 0x10325476; context->state[4] = 0xC3D2E1F0; context->count[0] = context->count[1] = 0; + return 1; } @@ -244,7 +245,7 @@ void SHA1_Update(SHA1_CTX *context, const uint8_t *data, size_t len) /* * Add padding and return the message digest. */ -void SHA1_Finish(SHA1_CTX* context, uint8_t digest[20]) +int SHA1_Finish(SHA1_CTX* context, uint8_t digest[20]) { size_t i; uint8_t finalcount[8]; @@ -266,4 +267,5 @@ void SHA1_Finish(SHA1_CTX* context, uint8_t digest[20]) digest[i] = (uint8_t) ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); } + return 1; } diff --git a/ext/digest/sha1/sha1.h b/ext/digest/sha1/sha1.h index 55997e73dd..6f1c388cf2 100644 --- a/ext/digest/sha1/sha1.h +++ b/ext/digest/sha1/sha1.h @@ -28,9 +28,9 @@ typedef struct { #endif void SHA1_Transform _((uint32_t state[5], const uint8_t buffer[64])); -void SHA1_Init _((SHA1_CTX *context)); +int SHA1_Init _((SHA1_CTX *context)); void SHA1_Update _((SHA1_CTX *context, const uint8_t *data, size_t len)); -void SHA1_Finish _((SHA1_CTX *context, uint8_t digest[20])); +int SHA1_Finish _((SHA1_CTX *context, uint8_t digest[20])); #define SHA1_BLOCK_LENGTH 64 #define SHA1_DIGEST_LENGTH 20 |