Mercurial > dovecot > core-2.2
changeset 13083:e07d2e37053d
liblib: Added [tp]_strsplit_tabescaped()
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 27 Jun 2011 22:58:49 +0300 |
parents | c55ea4fc3344 |
children | 0faaceb2f83c |
files | src/lib/strescape.c src/lib/strescape.h |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/strescape.c Mon Jun 27 22:58:31 2011 +0300 +++ b/src/lib/strescape.c Mon Jun 27 22:58:49 2011 +0300 @@ -201,3 +201,19 @@ *dest = '\0'; return start; } + +char **p_strsplit_tabescaped(pool_t pool, const char *str) +{ + char **args; + unsigned int i; + + args = p_strsplit(pool, str, "\t"); + for (i = 0; args[i] != NULL; i++) + args[i] = str_tabunescape(args[i]); + return args; +} + +const char *const *t_strsplit_tabescaped(const char *str) +{ + return (void *)p_strsplit_tabescaped(pool_datastack_create(), str); +}
--- a/src/lib/strescape.h Mon Jun 27 22:58:31 2011 +0300 +++ b/src/lib/strescape.h Mon Jun 27 22:58:49 2011 +0300 @@ -19,4 +19,7 @@ void str_append_tabunescaped(string_t *dest, const void *src, size_t src_size); char *str_tabunescape(char *str); +char **p_strsplit_tabescaped(pool_t pool, const char *str); +const char *const *t_strsplit_tabescaped(const char *str); + #endif