From 55aa7d9d8f7066af7564008ca48d264fd5efeb26 Mon Sep 17 00:00:00 2001 From: Dan Egnor <egnor@ofb.net> Date: Wed, 6 Feb 2002 14:34:26 +0100 Subject: [PATCH] Applied patch from Dan Egnor improving the base64 code. * base64.h (BASE64_ENCODE_LENGTH): New macro. (struct base64_ctx): New context struct, for decoding. (BASE64_DECODE_LENGTH): New macro. * base64.c (base64_decode_init): New function. (base64_decode_update): New function, replacing base64_decode. Takes a struct base64_ctx argument. * nettle-meta.h: Updated nettle_armor, and related typedefs and macros. * testsuite/testutils.c (test_armor): Updated. * configure.in: Use AC_PREREQ(2.50). Rev: src/nettle/testsuite/testutils.c:1.9 --- testsuite/testutils.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/testsuite/testutils.c b/testsuite/testutils.c index 9e5dda13..e18d025c 100644 --- a/testsuite/testutils.c +++ b/testsuite/testutils.c @@ -228,11 +228,12 @@ test_armor(const struct nettle_armor *armor, const uint8_t *data, const uint8_t *ascii) { + void *ctx = alloca(armor->context_size); uint8_t *buffer = alloca(1 + strlen(ascii)); uint8_t *check = alloca(1 + data_length); - memset(buffer, 0, 1 + strlen(ascii)); - memset(check, 0, 1 + data_length); + memset(buffer, 0x33, 1 + strlen(ascii)); + memset(check, 0x55, 1 + data_length); if (strlen(ascii) != armor->encode(buffer, data_length, data)) FAIL(); @@ -240,16 +241,17 @@ test_armor(const struct nettle_armor *armor, if (!MEMEQ(strlen(ascii), buffer, ascii)) FAIL(); - if (buffer[strlen(ascii)]) + if (0x33 != buffer[strlen(ascii)]) FAIL(); - if (data_length != armor->decode(check, strlen(ascii), buffer)) + armor->decode_init(ctx); + if (data_length != armor->decode_update(ctx, check, strlen(ascii), buffer)) FAIL(); if (!MEMEQ(data_length, check, data)) FAIL(); - if (check[data_length]) + if (0x55 != check[data_length]) FAIL(); } -- GitLab