diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2021-05-04 19:34:26 -0400 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2021-05-06 17:35:00 -0400 |
commit | 6de4c809c94e93ab2c50d381532258575e87eac4 (patch) | |
tree | 3b1f008d81f0c3e7b83a4c7848a3a076cf1447e5 /src/base64.h | |
parent | 6f942adfe0e622963f591aac4c82d7b12fb75471 (diff) | |
download | lighttpd-git-6de4c809c94e93ab2c50d381532258575e87eac4.tar.gz |
[core] buffer_append_base64_encode_opt()
with option to include or omit padding
single func to handle both:
- buffer_append_base64_encode_no_padding
- buffer_append_base64_encode
Diffstat (limited to 'src/base64.h')
-rw-r--r-- | src/base64.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/base64.h b/src/base64.h index 3e0ff5d6..b46066b0 100644 --- a/src/base64.h +++ b/src/base64.h @@ -14,10 +14,22 @@ unsigned char* buffer_append_base64_decode(buffer *out, const char* in, size_t i size_t li_to_base64_no_padding(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset); size_t li_to_base64(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset); +__attribute_nonnull__ __attribute_returns_nonnull__ -char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); +char* buffer_append_base64_encode_opt(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset, int pad); +__attribute_nonnull__ __attribute_returns_nonnull__ -char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); +static inline char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); +static inline char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset) { + return buffer_append_base64_encode_opt(out, in, in_length, charset, 0); +} + +__attribute_nonnull__ +__attribute_returns_nonnull__ +static inline char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); +static inline char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset) { + return buffer_append_base64_encode_opt(out, in, in_length, charset, 1); +} #endif |