BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJLIB-UTIL Reference

String Escaping Utilities

Functions

PJ_BEGIN_DECL pj_str_t pj_str_unescape (pj_pool_t *pool, const pj_str_t *src)
pj_str_tpj_strcpy_unescape (pj_str_t *dst, const pj_str_t *src)
pj_str_tpj_strncpy_escape (pj_str_t *dst, const pj_str_t *src, pj_ssize_t max, const pj_cis_t *unres)
pj_ssize_t pj_strncpy2_escape (char *dst, const pj_str_t *src, pj_ssize_t max, const pj_cis_t *unres)

Detailed Description


Function Documentation

PJ_BEGIN_DECL pj_str_t pj_str_unescape ( pj_pool_t pool,
const pj_str_t src 
)

Unescape string. If source string does not contain any escaped characters, the function would simply return the original string. Otherwise a new string will be allocated.

Parameters:
poolPool to allocate the string.
srcSource string to unescape.
Returns:
String with no escaped characters.
pj_str_t* pj_strcpy_unescape ( pj_str_t dst,
const pj_str_t src 
)

Unescape string to destination.

Parameters:
dstTarget string.
srcSource string.
Returns:
Target string.
pj_ssize_t pj_strncpy2_escape ( char *  dst,
const pj_str_t src,
pj_ssize_t  max,
const pj_cis_t unres 
)

Copy string to destination while escaping reserved characters, up to the specified maximum length.

Parameters:
dstTarget string.
srcSource string.
maxMaximum length to copy to target string.
unresUnreserved characters, which are allowed to appear unescaped.
Returns:
The length of the destination, or -1 if there's not enough buffer.
pj_str_t* pj_strncpy_escape ( pj_str_t dst,
const pj_str_t src,
pj_ssize_t  max,
const pj_cis_t unres 
)

Copy string to destination while escaping reserved characters, up to the specified maximum length.

Parameters:
dstTarget string.
srcSource string.
maxMaximum length to copy to target string.
unresUnreserved characters, which are allowed to appear unescaped.
Returns:
The target string if all characters have been copied successfully, or NULL if there's not enough buffer to escape the strings.

 


PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library
Copyright (C) 2006-2009 Teluu Inc.