From 4453ce155c2f2c5d48e45269250ac0bab52ac63f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 28 Sep 2007 23:25:10 -0500 Subject: 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 --- lib/libalpm/md5.c | 10 +++++----- 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 @@ -39,30 +39,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 ) * -- cgit v1.2.3-24-g4f1b