return start;
}
+const char *t_str_tabunescape(const char *str)
+{
+ if (strchr(str, '\001') == NULL)
+ return str;
+ else
+ return str_tabunescape(t_strdup_noconst(str));
+}
+
char **p_strsplit_tabescaped(pool_t pool, const char *str)
{
char **args;
void str_append_tabescaped(string_t *dest, const char *src);
void str_append_tabunescaped(string_t *dest, const void *src, size_t src_size);
char *str_tabunescape(char *str);
+const char *t_str_tabunescape(const char *str);
char **p_strsplit_tabescaped(pool_t pool, const char *str);
const char *const *t_strsplit_tabescaped(const char *str);
test_begin("str_tabescape");
for (i = 0; i < N_ELEMENTS(tabesc); i++) {
+ test_assert(strcmp(t_str_tabunescape(tabesc[i].output),
+ tabesc[i].input) == 0);
test_assert(strcmp(str_tabunescape(t_strdup_noconst(tabesc[i].output)),
tabesc[i].input) == 0);
test_assert(strcmp(str_tabescape(tabesc[i].input),