]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
liblib: Added [tp]_strsplit_tabescaped()
authorTimo Sirainen <tss@iki.fi>
Mon, 27 Jun 2011 19:58:49 +0000 (22:58 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 27 Jun 2011 19:58:49 +0000 (22:58 +0300)
src/lib/strescape.c
src/lib/strescape.h

index 3be08f12f2920715e8d9facfc592bbedabf34a74..e58191b6185b32bad208dcc18cc1e605ec2db70a 100644 (file)
@@ -201,3 +201,19 @@ char *str_tabunescape(char *str)
        *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);
+}
index 93457e4b856a37b75df395b13331e0197c0274db..1db63405c439c5358677806b3369374ab092e79b 100644 (file)
@@ -19,4 +19,7 @@ void str_tabescape_write(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);
 
+char **p_strsplit_tabescaped(pool_t pool, const char *str);
+const char *const *t_strsplit_tabescaped(const char *str);
+
 #endif