dovecot-2.0: lib-storage: Changed userdb +key=value to key+=value

dovecot at dovecot.org dovecot at dovecot.org
Tue Jun 28 02:49:55 EEST 2011


details:   http://hg.dovecot.org/dovecot-2.0/rev/4285147ed694
changeset: 12859:4285147ed694
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jun 28 02:49:46 2011 +0300
description:
lib-storage: Changed userdb +key=value to key+=value

diffstat:

 src/lib-storage/mail-storage-service.c |  9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diffs (26 lines):

diff -r 748b0fd169d1 -r 4285147ed694 src/lib-storage/mail-storage-service.c
--- a/src/lib-storage/mail-storage-service.c	Tue Jun 28 02:41:06 2011 +0300
+++ b/src/lib-storage/mail-storage-service.c	Tue Jun 28 02:49:46 2011 +0300
@@ -108,6 +108,7 @@
 	struct setting_parser_context *set_parser = user->set_parser;
 	bool mail_debug;
 	const char *key, *orig_key, *append_value = NULL;
+	unsigned int len;
 	int ret;
 
 	mail_debug = mail_user_set_get_mail_debug(user->user_info,
@@ -116,9 +117,11 @@
 		line = t_strconcat(line, "=yes", NULL);
 	orig_key = key = t_strcut(line, '=');
 
-	if (*key == '+') {
-		append_value = line + strlen(key) + 1;
-		key++;
+	len = strlen(key);
+	if (len > 0 && key[len-1] == '+') {
+		/* key+=value */
+		append_value = line + len + 1;
+		key = t_strndup(key, len-1);
 		line++;
 	}
 


More information about the dovecot-cvs mailing list