diff --git a/ChangeLog b/ChangeLog index aeb55b56ae5d9ff71e0c2db460beaef0f87c1577..3d12926c2035d1e10efc8b37efdb2657b92ec8d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2015-03-12 Niels Möller <nisse@diamant.hack.org> + * base64.h (struct base64_encode_ctx): Micro optimization of + struct layout, saving a few bytes. + (struct base64_decode_ctx): Likewise. + * base16.h (struct base16_decode_ctx): Likewise. + * nettle.texinfo (ASCII encoding): Document base64url functions. 2015-03-10 Niels Möller <nisse@diamant.hack.org> diff --git a/base16.h b/base16.h index 3facfd4edd83ffc9ad724b890308e83c01cbbb50..2579c0efa661a24d758559a6bd0601cbda660948 100644 --- a/base16.h +++ b/base16.h @@ -74,8 +74,8 @@ base16_encode_update(uint8_t *dst, struct base16_decode_ctx { - unsigned word; /* Leftover bits */ - unsigned bits; /* Number buffered bits */ + unsigned char word; /* Leftover bits */ + unsigned char bits; /* Number buffered bits */ }; void diff --git a/base64.h b/base64.h index 10c4965c49016d7658192b70d28e166586c0ed4e..79194bd4f6ed5b818984f50a29e24342d6191b6f 100644 --- a/base64.h +++ b/base64.h @@ -73,9 +73,9 @@ extern "C" { struct base64_encode_ctx { - unsigned word; /* Leftover bits */ - unsigned bits; /* Number of bits, always 0, 2, or 4. */ const uint8_t *alphabet; /* Alphabet to use for encoding */ + unsigned short word; /* Leftover bits */ + unsigned char bits; /* Number of bits, always 0, 2, or 4. */ }; /* Initialize encoding context for base-64 */ @@ -126,12 +126,12 @@ base64_encode_group(uint8_t *dst, uint32_t group); struct base64_decode_ctx { - unsigned word; /* Leftover bits */ - unsigned bits; /* Number buffered bits */ + const signed char *table; /* Decoding table */ + unsigned short word; /* Leftover bits */ + unsigned char bits; /* Number buffered bits */ /* Number of padding characters encountered */ - unsigned padding; - const signed char *table; /* Decoding table */ + unsigned char padding; }; /* Initialize decoding context for base-64 */