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>
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
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 */
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 */