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

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