scan_cescape(3)

NAME
scan_cescape - parse C escaped string

SYNTAX
#include <libowfat/textcode.h>

size_t scan_cescape(const char *src,char *dest,size_t* destlen);

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. dest can be src.

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

RETURN VALUE
scan_cescape returns the number of bytes successfully parsed from src.

EXAMPLES
scan_cescape("test\n

SEE ALSO
fmt_jsonescape(3), fmt_cescape(3), scan_ldapescape(3)