You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
Groff
36 lines
1.2 KiB
Groff
.TH scan_urlencoded 3
|
|
.SH NAME
|
|
scan_urlencoded \- decode urlencoded data
|
|
.SH SYNTAX
|
|
.B #include <libowfat/textcode.h>
|
|
|
|
size_t \fBscan_urlencoded\fP(const char *\fIsrc\fR,char *\fIdest\fR,size_t* \fIdestlen\fR);
|
|
|
|
.SH DESCRIPTION
|
|
scan_urlencoded decodes urlencoded data from src into dest.
|
|
Decoding stops when it encounters any invalid input characters (including ' ', '?' and '&').
|
|
|
|
It will then write the number of decoded bytes in dest into *destlen,
|
|
and return the number of bytes decoded from src.
|
|
|
|
Note that the plus character is handled differently depending on whether
|
|
we are encoding the query part or the path (application/x-www-form-urlencoded).
|
|
In "http://example.com/a+b?c+d", only the second plus can be decoded
|
|
as a space character. If you want + decoded to space, use
|
|
scan_urlencoded2.
|
|
|
|
dest can be NULL. destlen can be NULL.
|
|
|
|
.SH "RETURN VALUE"
|
|
scan_urlencoded returns the number of bytes successfully scanned and
|
|
processed from src.
|
|
.SH EXAMPLES
|
|
scan_urlencoded("foo%3ebar",buf,&i) -> return 9, i=7, buf="foo.bar"
|
|
|
|
scan_urlencoded("foo+bar",buf,&i) -> return 7, i=7, buf="foo+bar"
|
|
|
|
scan_urlencoded2("foo+bar",buf,&i) -> return 7, i=7, buf="foo bar"
|
|
|
|
.SH "SEE ALSO"
|
|
scan_urlencoded2(3), scan_xlong(3), scan_8long(3), fmt_ulong(3)
|