scan_base64url(3)

NAME
scan_base64url - decode base64url encoded data

SYNTAX
#include <libowfat/textcode.h>

size_t scan_base64url(const char *src,char *dest,size_t* destlen);

DESCRIPTION
base64url is a variant of base64 for use in URLs (standard base64 uses / and +, which can cause problems in URLs, so base64url uses - and _ instead; also base64url does not use = padding at the end).

scan_base64url decodes base64url encoded data from src into dest. It will stop when it encounters any non-valid input characters. It will then write the number of decoded bytes in dest into *destlen, and return the number of bytes decoded from src.

Many base64 variants demand padding in the last block. Some don't. This implementation will consume padding if it is there, but will not complain if it is not.

dest can be NULL. destlen can be NULL. dest can be src.

RETURN VALUE
scan_base64url returns the number of bytes successfully scanned and processed from src.

EXAMPLES
scan_base64url("Zm5vcmQ",buf,&i) -> return 7, i=5, buf="fnord"

SEE ALSO
scan_base64(3), scan_xlong(3), scan_8long(3), fmt_ulong(3)