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.1 KiB
Groff
36 lines
1.1 KiB
Groff
8 years ago
|
.TH scan_cescape 3
|
||
|
.SH NAME
|
||
|
scan_cescape \- parse C escaped string
|
||
|
.SH SYNTAX
|
||
|
.B #include <libowfat/textcode.h>
|
||
|
|
||
|
size_t \fBscan_cescape\fP(const char *\fIsrc\fR,char *\fIdest\fR,size_t* \fIdestlen\fR);
|
||
|
|
||
|
.SH DESCRIPTION
|
||
|
scan_cescape parses C escaped text from src into dest.
|
||
|
Parsing stops at the 0 terminator, invalid input characters or a double
|
||
|
quote that was not escaped.
|
||
|
|
||
|
C escape sequences like \\n and \\x0a and \\012 are translated into
|
||
|
their binary counterparts. The C99 escape sequences \\u and \\U are
|
||
|
supported and lead to UTF-8 sequences being output.
|
||
|
|
||
|
scan_cescape will then write the number of bytes in dest into *destlen,
|
||
|
and return the number of bytes decoded from src.
|
||
|
|
||
|
dest can be NULL. destlen can be NULL.
|
||
|
|
||
|
To make sure dest is large enough, either allocate strlen(src)+1 bytes
|
||
|
or call scan_cescape twice, the first time with dest == NULL (*destlen
|
||
|
will still be written).
|
||
|
|
||
|
.SH "RETURN VALUE"
|
||
|
scan_cescape returns the number of bytes successfully parsed
|
||
|
from src.
|
||
|
|
||
|
.SH EXAMPLES
|
||
|
scan_cescape("test\\n\");",buf,&i) -> return 7, i=5, buf="test\n".
|
||
|
|
||
|
.SH "SEE ALSO"
|
||
|
fmt_jsonescape(3), fmt_cescape(3), scan_ldapescape(3)
|