|
|
|
.TH scan_base64url 3
|
|
|
|
.SH NAME
|
|
|
|
scan_base64url \- decode base64url encoded data
|
|
|
|
.SH SYNTAX
|
|
|
|
.B #include <libowfat/textcode.h>
|
|
|
|
|
|
|
|
size_t \fBscan_base64url\fP(const char *\fIsrc\fR,char *\fIdest\fR,size_t* \fIdestlen\fR);
|
|
|
|
|
|
|
|
.SH 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.
|
|
|
|
|
|
|
|
.SH "RETURN VALUE"
|
|
|
|
scan_base64url returns the number of bytes successfully scanned and
|
|
|
|
processed from src.
|
|
|
|
.SH EXAMPLES
|
|
|
|
scan_base64url("Zm5vcmQ",buf,&i) -> return 7, i=5, buf="fnord"
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
scan_base64(3), scan_xlong(3), scan_8long(3), fmt_ulong(3)
|