diff options
author | Dan McGee <dan@archlinux.org> | 2007-09-29 06:25:10 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-09-29 06:27:14 +0200 |
commit | 4453ce155c2f2c5d48e45269250ac0bab52ac63f (patch) | |
tree | 01e0ab7731a93f627dc6841ddb6f7f1e5ca2fb89 | |
parent | 01e92e9ded7dc5e9a26a65bace71477a51f08bdb (diff) | |
download | pacman-4453ce155c2f2c5d48e45269250ac0bab52ac63f.tar.gz pacman-4453ce155c2f2c5d48e45269250ac0bab52ac63f.tar.xz |
libalpm: Optimize/inline the md5 functionality
The md5 routines are one of the chokepoints of libalpm (main chokepoint being
archive extraction). Although IO delay causes a lot of it, we can at least
inline some of the md5 stuff as we aren't that concerned about space and
eliminate quite a few function calls.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/md5.c | 10 | ||||
-rw-r--r-- | lib/libalpm/md5.h | 24 |
2 files changed, 5 insertions, 29 deletions
diff --git a/lib/libalpm/md5.c b/lib/libalpm/md5.c index 8d6fe049..10eec0d2 100644 --- a/lib/libalpm/md5.c +++ b/lib/libalpm/md5.c @@ -73,7 +73,7 @@ /* * MD5 context setup */ -void md5_starts( md5_context *ctx ) +static inline void md5_starts( md5_context *ctx ) { ctx->total[0] = 0; ctx->total[1] = 0; @@ -84,7 +84,7 @@ void md5_starts( md5_context *ctx ) ctx->state[3] = 0x10325476; } -static void md5_process( md5_context *ctx, unsigned char data[64] ) +static inline void md5_process( md5_context *ctx, unsigned char data[64] ) { unsigned long X[16], A, B, C, D; @@ -210,7 +210,7 @@ static void md5_process( md5_context *ctx, unsigned char data[64] ) /* * MD5 process buffer */ -void md5_update( md5_context *ctx, unsigned char *input, int ilen ) +static inline void md5_update( md5_context *ctx, unsigned char *input, int ilen ) { int fill; unsigned long left; @@ -251,7 +251,7 @@ void md5_update( md5_context *ctx, unsigned char *input, int ilen ) } } -static const unsigned char md5_padding[64] = +static unsigned char md5_padding[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -262,7 +262,7 @@ static const unsigned char md5_padding[64] = /* * MD5 final digest */ -void md5_finish( md5_context *ctx, unsigned char *output ) +static inline void md5_finish( md5_context *ctx, unsigned char *output ) { unsigned long last, padn; unsigned long high, low; diff --git a/lib/libalpm/md5.h b/lib/libalpm/md5.h index 7af70749..4adc8a88 100644 --- a/lib/libalpm/md5.h +++ b/lib/libalpm/md5.h @@ -40,30 +40,6 @@ typedef struct md5_context; /** - * \brief MD5 context setup - * - * \param ctx context to be initialized - */ -void md5_starts( md5_context *ctx ); - -/** - * \brief MD5 process buffer - * - * \param ctx MD5 context - * \param input buffer holding the data - * \param ilen length of the input data - */ -void md5_update( md5_context *ctx, unsigned char *input, int ilen ); - -/** - * \brief MD5 final digest - * - * \param ctx MD5 context - * \param output MD5 checksum result - */ -void md5_finish( md5_context *ctx, unsigned char *output ); - -/** * \brief Output = MD5( input buffer ) * * \param input buffer holding the data |