diff options
Diffstat (limited to 'cipher')
-rw-r--r-- | cipher/ChangeLog | 4 | ||||
-rw-r--r-- | cipher/md.c | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/cipher/ChangeLog b/cipher/ChangeLog index 088d53e36..333547cd6 100644 --- a/cipher/ChangeLog +++ b/cipher/ChangeLog @@ -1,3 +1,7 @@ +Fri Feb 27 16:39:34 1998 Werner Koch ([email protected]) + + * md.c (md_enable): No init if called twice. + Thu Feb 26 07:57:02 1998 Werner Koch ([email protected]) * primegen.c (generate_elg_prime): Changed the progress printing. diff --git a/cipher/md.c b/cipher/md.c index dd40136a7..a9a566698 100644 --- a/cipher/md.c +++ b/cipher/md.c @@ -49,15 +49,18 @@ void md_enable( MD_HANDLE h, int algo ) { if( algo == DIGEST_ALGO_MD5 ) { - md5_init( &h->md5 ); + if( !h->use_md5 ) + md5_init( &h->md5 ); h->use_md5 = 1; } else if( algo == DIGEST_ALGO_RMD160 ) { - rmd160_init( &h->rmd160 ); + if( !h->use_rmd160 ) + rmd160_init( &h->rmd160 ); h->use_rmd160 = 1; } else if( algo == DIGEST_ALGO_SHA1 ) { - sha1_init( &h->sha1 ); + if( !h->use_sha1 ) + sha1_init( &h->sha1 ); h->use_sha1 = 1; } else |