summaryrefslogtreecommitdiff
path: root/src/base64.h
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2021-05-04 19:34:26 -0400
committerGlenn Strauss <gstrauss@gluelogic.com>2021-05-06 17:35:00 -0400
commit6de4c809c94e93ab2c50d381532258575e87eac4 (patch)
tree3b1f008d81f0c3e7b83a4c7848a3a076cf1447e5 /src/base64.h
parent6f942adfe0e622963f591aac4c82d7b12fb75471 (diff)
downloadlighttpd-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.h16
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