#include <xsheader.h>
#include <panda/encode/base2n.h>
using namespace panda::encode;
using panda::string_view;
MODULE = Encode::Base2N PACKAGE = Encode::Base2N
PROTOTYPES: DISABLE
SV* encode_base64 (string_view input) : ALIAS(encode_base64url=1, encode_base64pad=2) {
RETVAL = newSV(encode_base64_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = encode_base64(input, SvPVX(RETVAL), ix == 1 ? true : false, ix == 2 ? true : false);
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}
SV* decode_base64 (string_view input) {
RETVAL = newSV(decode_base64_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = decode_base64(input, SvPVX(RETVAL));
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}
SV* encode_base32 (string_view input) : ALIAS(encode_base32low=1) {
RETVAL = newSV(encode_base32_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = encode_base32(input, SvPVX(RETVAL), ix == 1 ? false : true);
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}
SV* decode_base32 (string_view input) {
RETVAL = newSV(decode_base32_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = decode_base32(input, SvPVX(RETVAL));
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}
SV* encode_base16 (string_view input) : ALIAS(encode_base16low=1) {
RETVAL = newSV(encode_base16_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = encode_base16(input, SvPVX(RETVAL), ix == 1 ? false : true);
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}
SV* decode_base16 (string_view input) {
RETVAL = newSV(decode_base16_getlen(input.length()) + 1);
SvPOK_on(RETVAL);
size_t rlen = decode_base16(input, SvPVX(RETVAL));
SvPVX(RETVAL)[rlen] = 0;
SvCUR_set(RETVAL, rlen);
}