File: scan_urlencoded.3

package info (click to toggle)
libowfat 0.34-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,288 kB
  • sloc: ansic: 20,181; makefile: 16
file content (35 lines) | stat: -rw-r--r-- 1,262 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.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. dest can be src.

.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)