--- parser3/src/include/pa_base64.h 2019/11/12 21:13:31 1.1 +++ parser3/src/include/pa_base64.h 2019/11/13 22:05:48 1.2 @@ -8,12 +8,22 @@ #ifndef PA_BASE64_H #define PA_BASE64_H -#define IDENT_PA_BASE64_H "$Id: pa_base64.h,v 1.1 2019/11/12 21:13:31 moko Exp $" +#define IDENT_PA_BASE64_H "$Id: pa_base64.h,v 1.2 2019/11/13 22:05:48 moko Exp $" #include "pa_string.h" -void pa_base64_decode(const char *in, size_t in_size, char*& result, size_t& result_size, bool strict=false); -char* pa_base64_encode(const char *in, size_t in_size); -char* pa_base64_encode(const String& file_spec); +struct Base64Options { + bool strict; + bool wrap; + bool pad; + const char *abc; + + Base64Options(); + void set_url_safe_abc(); +}; + +void pa_base64_decode(const char *in, size_t in_size, char*& result, size_t& result_size, Base64Options options); +char* pa_base64_encode(const char *in, size_t in_size, Base64Options options = Base64Options()); +char* pa_base64_encode(const String& file_spec, Base64Options options); #endif