dovecot-2.2-pigeonhole: lib-sieve: Added back t_str_trim() for t...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Sat Dec 5 00:15:15 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/d74fdf71878e
changeset: 2163:d74fdf71878e
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Sat Dec 05 01:15:11 2015 +0100
description:
lib-sieve: Added back t_str_trim() for the time being, since it was removed from Dovecot.
It is now named pg_t_str_trim() to prevent a new conflict at the next attempt.

diffstat:

 src/lib-sieve/sieve-settings.c |  31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diffs (69 lines):

diff -r 70f49cd63383 -r d74fdf71878e src/lib-sieve/sieve-settings.c
--- a/src/lib-sieve/sieve-settings.c	Sat Dec 05 00:49:33 2015 +0100
+++ b/src/lib-sieve/sieve-settings.c	Sat Dec 05 01:15:11 2015 +0100
@@ -10,6 +10,29 @@
 
 #include <ctype.h>
 
+// FIXME: move to Dovecot
+static const char *pg_t_str_trim(const char *str, const char *chars)
+{
+	const char *p, *pend, *begin;
+
+	pend = str + strlen(str);
+	if (pend == str)
+		return "";
+
+	p = str;
+	while (p < pend && strchr(chars, *p) != NULL)
+		p++;
+	begin = p;
+
+	p = pend - 1;
+	while (p > begin && strchr(chars, *p) != NULL)
+			p--;
+
+	if (p <= begin)
+		return "";
+	return t_strdup_until(begin, p+1);
+}
+
 /*
  * Access to settings
  */
@@ -120,7 +143,7 @@
 	if ( str_value == NULL )
 		return FALSE;
 
-	str_value = t_str_trim(str_value, "\t ");
+	str_value = pg_t_str_trim(str_value, "\t ");
 	if ( *str_value == '\0' )
 		return FALSE;
 
@@ -152,7 +175,7 @@
 	if ( str_value == NULL )
 		return FALSE;
 
-	str_value = t_str_trim(str_value, "\t ");
+	str_value = pg_t_str_trim(str_value, "\t ");
 	if ( *str_value == '\0' )
 		return FALSE;
 
@@ -205,7 +228,7 @@
 	if ( str_value == NULL )
 		return FALSE;
 
-	str_value = t_str_trim(str_value, "\t ");
+	str_value = pg_t_str_trim(str_value, "\t ");
 	str_value = t_str_lcase(str_value);
 	set_len = strlen(str_value);
 	if ( set_len > 0 ) {
@@ -222,7 +245,7 @@
 		} else if ( str_value[0] == '<' &&	str_value[set_len-1] == '>') {
 			sender->source = SIEVE_MAIL_SENDER_SOURCE_EXPLICIT;
 
-			str_value = t_str_trim(t_strndup(str_value+1, set_len-2), "\t ");
+			str_value = pg_t_str_trim(t_strndup(str_value+1, set_len-2), "\t ");
 			sender->address = NULL;
 			if ( *str_value != '\0' )
 				sender->address = p_strdup(pool, str_value);


More information about the dovecot-cvs mailing list