diff --git a/md2.c b/md2.c index ae2abb56acd7ce725ee9ff1d24c6ae2ef76d8b8f..ba3e102f5341c46984759498acc1795c0a258ee6 100644 --- a/md2.c +++ b/md2.c @@ -98,16 +98,6 @@ md2_transform(struct md2_ctx *ctx, const uint8_t *data) } } -#if 0 -static void -md2_final(struct md2_ctx *ctx) -{ - unsigned left = MD2_DATA_SIZE - ctx->index; - memset(ctx->block + ctx->index, left, left); - md2_transform(ctx, ctx->block); -} -#endif - void md2_init(struct md2_ctx *ctx) { @@ -119,33 +109,7 @@ md2_update(struct md2_ctx *ctx, unsigned length, const uint8_t *data) { - if (ctx->index) - { - /* Try to fill partial block */ - unsigned left = MD2_DATA_SIZE - ctx->index; - if (length < left) - { - memcpy(ctx->block + ctx->index, data, length); - ctx->index += length; - return; /* Finished */ - } - else - { - memcpy(ctx->block + ctx->index, data, left); - md2_transform(ctx, ctx->block); - data += left; - length -= left; - } - } - while (length >= MD2_DATA_SIZE) - { - md2_transform(ctx, data); - data += MD2_DATA_SIZE; - length -= MD2_DATA_SIZE; - } - if ((ctx->index = length)) /* This assignment is intended */ - /* Buffer leftovers */ - memcpy(ctx->block, data, length); + MD_UPDATE(ctx, length, data, md2_transform, (void)0); } void