dovecot-2.2: lib-master: Added and used MASTER_SERVICE_INTERNAL_...

dovecot at dovecot.org dovecot at dovecot.org
Sat Jul 28 17:56:05 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/2199fd0d1682
changeset: 14726:2199fd0d1682
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Jul 28 17:45:47 2012 +0300
description:
lib-master: Added and used MASTER_SERVICE_INTERNAL_SET_PARSERS macro.

diffstat:

 src/auth/auth-settings.c                 |  2 +-
 src/lib-master/master-service-settings.c |  3 ++-
 src/lib-master/master-service-settings.h |  4 ++++
 src/lib-storage/mail-storage-service.c   |  9 +++++----
 src/lmtp/lmtp-settings.c                 |  3 ++-
 src/login-common/login-settings.c        |  3 ++-
 6 files changed, 16 insertions(+), 8 deletions(-)

diffs (105 lines):

diff -r 3671877fb692 -r 2199fd0d1682 src/auth/auth-settings.c
--- a/src/auth/auth-settings.c	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/auth/auth-settings.c	Sat Jul 28 17:45:47 2012 +0300
@@ -406,7 +406,7 @@
 	if (!settings_parser_check(set_parser, pool, &error))
 		i_unreached();
 
-	set = settings_parser_get_list(set_parser)[1];
+	set = settings_parser_get_list(set_parser)[MASTER_SERVICE_INTERNAL_SET_PARSERS];
 	settings_parser_deinit(&set_parser);
 	return set;
 }
diff -r 3671877fb692 -r 2199fd0d1682 src/lib-master/master-service-settings.c
--- a/src/lib-master/master-service-settings.c	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/lib-master/master-service-settings.c	Sat Jul 28 17:45:47 2012 +0300
@@ -491,7 +491,8 @@
 
 void **master_service_settings_get_others(struct master_service *service)
 {
-	return settings_parser_get_list(service->set_parser) + 1;
+	return settings_parser_get_list(service->set_parser) +
+		MASTER_SERVICE_INTERNAL_SET_PARSERS;
 }
 
 struct setting_parser_context *
diff -r 3671877fb692 -r 2199fd0d1682 src/lib-master/master-service-settings.h
--- a/src/lib-master/master-service-settings.h	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/lib-master/master-service-settings.h	Sat Jul 28 17:45:47 2012 +0300
@@ -3,6 +3,10 @@
 
 #include "network.h"
 
+/* Number of settings roots used by lib-master internally. Typically you should
+   use master_service_settings_get_others() to avoid knowing about this. */
+#define MASTER_SERVICE_INTERNAL_SET_PARSERS 1
+
 struct setting_parser_info;
 struct master_service;
 
diff -r 3671877fb692 -r 2199fd0d1682 src/lib-storage/mail-storage-service.c
--- a/src/lib-storage/mail-storage-service.c	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/lib-storage/mail-storage-service.c	Sat Jul 28 17:45:47 2012 +0300
@@ -970,7 +970,7 @@
 		master_service_init_log(ctx->service,
 			t_strconcat(ctx->service->name, ": ", NULL));
 	}
-	user_set = settings_parser_get_list(set_parser)[1];
+	user_set = settings_parser_get_list(set_parser)[MASTER_SERVICE_INTERNAL_SET_PARSERS];
 
 	if (ctx->conn == NULL)
 		mail_storage_service_first_init(ctx, user_info, user_set);
@@ -1004,7 +1004,7 @@
 	if (!settings_parser_check(user->set_parser, user_pool, &error))
 		i_panic("settings_parser_check() failed: %s", error);
 
-	user->user_set = settings_parser_get_list(user->set_parser)[1];
+	user->user_set = settings_parser_get_list(user->set_parser)[MASTER_SERVICE_INTERNAL_SET_PARSERS];
 	user->gid_source = "mail_gid setting";
 	user->uid_source = "mail_uid setting";
 
@@ -1195,7 +1195,7 @@
 					       &user_info, &set_parser,
 					       &error) < 0)
 		i_fatal("%s", error);
-	user_set = settings_parser_get_list(set_parser)[1];
+	user_set = settings_parser_get_list(set_parser)[MASTER_SERVICE_INTERNAL_SET_PARSERS];
 
 	mail_storage_service_first_init(ctx, user_info, user_set);
 	pool_unref(&temp_pool);
@@ -1246,7 +1246,8 @@
 
 void **mail_storage_service_user_get_set(struct mail_storage_service_user *user)
 {
-	return settings_parser_get_list(user->set_parser) + 1;
+	return settings_parser_get_list(user->set_parser) +
+		MASTER_SERVICE_INTERNAL_SET_PARSERS;
 }
 
 const struct mail_storage_service_input *
diff -r 3671877fb692 -r 2199fd0d1682 src/lmtp/lmtp-settings.c
--- a/src/lmtp/lmtp-settings.c	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/lmtp/lmtp-settings.c	Sat Jul 28 17:45:47 2012 +0300
@@ -97,7 +97,8 @@
 {
 	void **sets;
 
-	sets = settings_parser_get_list(set_parser) + 1;
+	sets = settings_parser_get_list(set_parser) +
+		MASTER_SERVICE_INTERNAL_SET_PARSERS;
 	*lda_set_r = settings_dup(&lda_setting_parser_info, sets[1], pool);
 	*lmtp_set_r = settings_dup(&lmtp_setting_parser_info, sets[2], pool);
 }
diff -r 3671877fb692 -r 2199fd0d1682 src/login-common/login-settings.c
--- a/src/login-common/login-settings.c	Sat Jul 28 17:37:19 2012 +0300
+++ b/src/login-common/login-settings.c	Sat Jul 28 17:45:47 2012 +0300
@@ -227,7 +227,8 @@
 					       &parser, &error) < 0)
 		i_fatal("Error reading configuration: %s", error);
 
-	cache_sets = settings_parser_get_list(parser) + 1;
+	cache_sets = settings_parser_get_list(parser) +
+		MASTER_SERVICE_INTERNAL_SET_PARSERS;
 	for (count = 0; input.roots[count] != NULL; count++) ;
 	i_assert(cache_sets[count] == NULL);
 	sets = p_new(pool, void *, count + 1);


More information about the dovecot-cvs mailing list