From: Timo Sirainen Date: Tue, 20 Oct 2009 21:15:01 +0000 (-0400) Subject: Reordered struct setting_parser_info fields to make using them easier. X-Git-Tag: 2.0.alpha2~57 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=383d0e8c24451468d6bea17e4b55d74de744abe6;p=thirdparty%2Fdovecot%2Fcore.git Reordered struct setting_parser_info fields to make using them easier. --HG-- branch : HEAD --- diff --git a/src/auth/auth-settings.c b/src/auth/auth-settings.c index b2424d18cf..74ba8a0d18 100644 --- a/src/auth/auth-settings.c +++ b/src/auth/auth-settings.c @@ -29,12 +29,11 @@ struct setting_parser_info auth_passdb_setting_parser_info = { MEMBER(defines) auth_passdb_setting_defines, MEMBER(defaults) NULL, - MEMBER(parent) &auth_setting_parser_info, - MEMBER(dynamic_parsers) NULL, + MEMBER(type_offset) offsetof(struct auth_passdb_settings, driver), + MEMBER(struct_size) sizeof(struct auth_passdb_settings), MEMBER(parent_offset) (size_t)-1, - MEMBER(type_offset) offsetof(struct auth_passdb_settings, driver), - MEMBER(struct_size) sizeof(struct auth_passdb_settings) + MEMBER(parent) &auth_setting_parser_info }; #undef DEF @@ -52,12 +51,11 @@ struct setting_parser_info auth_userdb_setting_parser_info = { MEMBER(defines) auth_userdb_setting_defines, MEMBER(defaults) NULL, - MEMBER(parent) &auth_setting_parser_info, - MEMBER(dynamic_parsers) NULL, + MEMBER(type_offset) offsetof(struct auth_userdb_settings, driver), + MEMBER(struct_size) sizeof(struct auth_userdb_settings), MEMBER(parent_offset) (size_t)-1, - MEMBER(type_offset) offsetof(struct auth_userdb_settings, driver), - MEMBER(struct_size) sizeof(struct auth_userdb_settings) + MEMBER(parent) &auth_setting_parser_info }; /* we're kind of kludging here to avoid "auth_" prefix in the struct fields */ @@ -134,12 +132,12 @@ struct setting_parser_info auth_setting_parser_info = { MEMBER(defines) auth_setting_defines, MEMBER(defaults) &auth_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct auth_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) auth_settings_check }; diff --git a/src/dict/dict-settings.c b/src/dict/dict-settings.c index c962568fae..aa7d87c93a 100644 --- a/src/dict/dict-settings.c +++ b/src/dict/dict-settings.c @@ -26,12 +26,10 @@ struct setting_parser_info dict_setting_parser_info = { MEMBER(defines) dict_setting_defines, MEMBER(defaults) &dict_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct dict_settings) + MEMBER(struct_size) sizeof(struct dict_settings), + + MEMBER(parent_offset) (size_t)-1 }; struct dict_settings *dict_settings; diff --git a/src/imap/imap-settings.c b/src/imap/imap-settings.c index 1ac1119643..beddf14baa 100644 --- a/src/imap/imap-settings.c +++ b/src/imap/imap-settings.c @@ -59,12 +59,12 @@ struct setting_parser_info imap_setting_parser_info = { MEMBER(defines) imap_setting_defines, MEMBER(defaults) &imap_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct imap_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) imap_settings_verify, MEMBER(dependencies) imap_setting_dependencies }; diff --git a/src/lib-lda/lda-settings.c b/src/lib-lda/lda-settings.c index a5bbbcd43a..f73b442536 100644 --- a/src/lib-lda/lda-settings.c +++ b/src/lib-lda/lda-settings.c @@ -52,12 +52,12 @@ struct setting_parser_info lda_setting_parser_info = { MEMBER(defines) lda_setting_defines, MEMBER(defaults) &lda_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct lda_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + #ifdef CONFIG_BINARY MEMBER(check_func) NULL, #else diff --git a/src/lib-master/master-service-settings.c b/src/lib-master/master-service-settings.c index 4d9a028f11..5c6d91f7a2 100644 --- a/src/lib-master/master-service-settings.c +++ b/src/lib-master/master-service-settings.c @@ -48,12 +48,10 @@ struct setting_parser_info master_service_setting_parser_info = { MEMBER(defines) master_service_setting_defines, MEMBER(defaults) &master_service_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct master_service_settings) + MEMBER(struct_size) sizeof(struct master_service_settings), + + MEMBER(parent_offset) (size_t)-1 }; static void ATTR_NORETURN diff --git a/src/lib-settings/settings-parser.c b/src/lib-settings/settings-parser.c index 44babdc288..5a99c49be0 100644 --- a/src/lib-settings/settings-parser.c +++ b/src/lib-settings/settings-parser.c @@ -54,12 +54,10 @@ static const struct setting_parser_info strlist_info = { MEMBER(defines) NULL, MEMBER(defaults) NULL, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) 0 + MEMBER(struct_size) 0, + + MEMBER(parent_offset) (size_t)-1 }; struct setting_parser_context * diff --git a/src/lib-settings/settings-parser.h b/src/lib-settings/settings-parser.h index bed98abf41..aa6bf68c5e 100644 --- a/src/lib-settings/settings-parser.h +++ b/src/lib-settings/settings-parser.h @@ -53,14 +53,15 @@ struct setting_parser_info { const struct setting_define *defines; const void *defaults; - struct setting_parser_info *parent; - struct dynamic_settings_parser *dynamic_parsers; - - size_t parent_offset; size_t type_offset; size_t struct_size; + + size_t parent_offset; + struct setting_parser_info *parent; + bool (*check_func)(void *set, pool_t pool, const char **error_r); struct setting_parser_info *const *dependencies; + struct dynamic_settings_parser *dynamic_parsers; }; ARRAY_DEFINE_TYPE(setting_parser_info, struct setting_parser_info); diff --git a/src/lib-storage/index/dbox-multi/mdbox-settings.c b/src/lib-storage/index/dbox-multi/mdbox-settings.c index 2a7ac6b137..83210a0635 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-settings.c +++ b/src/lib-storage/index/dbox-multi/mdbox-settings.c @@ -36,12 +36,12 @@ static struct setting_parser_info mdbox_setting_parser_info = { MEMBER(defines) mdbox_setting_defines, MEMBER(defaults) &mdbox_default_settings, - MEMBER(parent) &mail_user_setting_parser_info, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct mdbox_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) &mail_user_setting_parser_info, + MEMBER(check_func) mdbox_settings_verify }; diff --git a/src/lib-storage/index/maildir/maildir-settings.c b/src/lib-storage/index/maildir/maildir-settings.c index 3d388d2e80..6b2a902cad 100644 --- a/src/lib-storage/index/maildir/maildir-settings.c +++ b/src/lib-storage/index/maildir/maildir-settings.c @@ -31,12 +31,11 @@ static struct setting_parser_info maildir_setting_parser_info = { MEMBER(defines) maildir_setting_defines, MEMBER(defaults) &maildir_default_settings, - MEMBER(parent) &mail_user_setting_parser_info, - MEMBER(dynamic_parsers) NULL, + MEMBER(type_offset) (size_t)-1, + MEMBER(struct_size) sizeof(struct maildir_settings), MEMBER(parent_offset) (size_t)-1, - MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct maildir_settings) + MEMBER(parent) &mail_user_setting_parser_info }; const struct setting_parser_info *maildir_get_setting_parser_info(void) diff --git a/src/lib-storage/index/mbox/mbox-settings.c b/src/lib-storage/index/mbox/mbox-settings.c index 6b6b54b5f5..42fe30aaf2 100644 --- a/src/lib-storage/index/mbox/mbox-settings.c +++ b/src/lib-storage/index/mbox/mbox-settings.c @@ -39,12 +39,11 @@ static struct setting_parser_info mbox_setting_parser_info = { MEMBER(defines) mbox_setting_defines, MEMBER(defaults) &mbox_default_settings, - MEMBER(parent) &mail_user_setting_parser_info, - MEMBER(dynamic_parsers) NULL, + MEMBER(type_offset) (size_t)-1, + MEMBER(struct_size) sizeof(struct mbox_settings), MEMBER(parent_offset) (size_t)-1, - MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct mbox_settings) + MEMBER(parent) &mail_user_setting_parser_info }; const struct setting_parser_info *mbox_get_setting_parser_info(void) diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c index 02c8f433c1..a5bce70396 100644 --- a/src/lib-storage/mail-storage-settings.c +++ b/src/lib-storage/mail-storage-settings.c @@ -68,12 +68,12 @@ struct setting_parser_info mail_storage_setting_parser_info = { MEMBER(defines) mail_storage_setting_defines, MEMBER(defaults) &mail_storage_default_settings, - MEMBER(parent) &mail_user_setting_parser_info, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct mail_storage_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) &mail_user_setting_parser_info, + MEMBER(check_func) mail_storage_settings_check }; @@ -113,12 +113,12 @@ struct setting_parser_info mail_namespace_setting_parser_info = { MEMBER(defines) mail_namespace_setting_defines, MEMBER(defaults) &mail_namespace_default_settings, - MEMBER(parent) &mail_user_setting_parser_info, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) offsetof(struct mail_namespace_settings, user_set), MEMBER(type_offset) offsetof(struct mail_namespace_settings, type), MEMBER(struct_size) sizeof(struct mail_namespace_settings), + + MEMBER(parent_offset) offsetof(struct mail_namespace_settings, user_set), + MEMBER(parent) &mail_user_setting_parser_info, + MEMBER(check_func) namespace_settings_check }; @@ -188,12 +188,12 @@ struct setting_parser_info mail_user_setting_parser_info = { MEMBER(defines) mail_user_setting_defines, MEMBER(defaults) &mail_user_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct mail_user_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) mail_user_settings_check }; diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c index b6ef6df38f..3710b375a9 100644 --- a/src/lmtp/lmtp-settings.c +++ b/src/lmtp/lmtp-settings.c @@ -26,11 +26,8 @@ struct setting_parser_info lmtp_setting_parser_info = { MEMBER(defines) lmtp_setting_defines, MEMBER(defaults) &lmtp_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct lmtp_settings), - MEMBER(check_func) NULL + + MEMBER(parent_offset) (size_t)-1 }; diff --git a/src/login-common/login-settings.c b/src/login-common/login-settings.c index f513585e18..a27e02a8cd 100644 --- a/src/login-common/login-settings.c +++ b/src/login-common/login-settings.c @@ -74,12 +74,12 @@ struct setting_parser_info login_setting_parser_info = { MEMBER(defines) login_setting_defines, MEMBER(defaults) &login_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct login_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) login_settings_check }; diff --git a/src/master/master-settings.c b/src/master/master-settings.c index e8a3f3996e..6c74d5ec14 100644 --- a/src/master/master-settings.c +++ b/src/master/master-settings.c @@ -46,10 +46,11 @@ static struct setting_parser_info file_listener_setting_parser_info = { MEMBER(defines) file_listener_setting_defines, MEMBER(defaults) &file_listener_default_settings, - MEMBER(parent) &service_setting_parser_info, - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct file_listener_settings) + MEMBER(struct_size) sizeof(struct file_listener_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) &service_setting_parser_info }; #undef DEF @@ -74,10 +75,11 @@ static struct setting_parser_info inet_listener_setting_parser_info = { MEMBER(defines) inet_listener_setting_defines, MEMBER(defaults) &inet_listener_default_settings, - MEMBER(parent) &service_setting_parser_info, - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct inet_listener_settings) + MEMBER(struct_size) sizeof(struct inet_listener_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) &service_setting_parser_info }; #undef DEF @@ -146,12 +148,11 @@ struct setting_parser_info service_setting_parser_info = { MEMBER(defines) service_setting_defines, MEMBER(defaults) &service_default_settings, - MEMBER(parent) &master_setting_parser_info, - MEMBER(dynamic_parsers) NULL, + MEMBER(type_offset) offsetof(struct service_settings, name), + MEMBER(struct_size) sizeof(struct service_settings), MEMBER(parent_offset) offsetof(struct service_settings, master_set), - MEMBER(type_offset) offsetof(struct service_settings, name), - MEMBER(struct_size) sizeof(struct service_settings) + MEMBER(parent) &master_setting_parser_info }; #undef DEF @@ -213,10 +214,12 @@ struct setting_parser_info master_setting_parser_info = { MEMBER(defines) master_setting_defines, MEMBER(defaults) &master_default_settings, - MEMBER(parent) NULL, - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct master_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) master_settings_verify }; diff --git a/src/pop3/pop3-settings.c b/src/pop3/pop3-settings.c index ba64c6400b..0ee652a8f9 100644 --- a/src/pop3/pop3-settings.c +++ b/src/pop3/pop3-settings.c @@ -56,12 +56,12 @@ struct setting_parser_info pop3_setting_parser_info = { MEMBER(defines) pop3_setting_defines, MEMBER(defaults) &pop3_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, MEMBER(struct_size) sizeof(struct pop3_settings), + + MEMBER(parent_offset) (size_t)-1, + MEMBER(parent) NULL, + MEMBER(check_func) pop3_settings_verify, MEMBER(dependencies) pop3_setting_dependencies }; diff --git a/src/ssl-params/ssl-params-settings.c b/src/ssl-params/ssl-params-settings.c index 6f0ac38db3..60f8414802 100644 --- a/src/ssl-params/ssl-params-settings.c +++ b/src/ssl-params/ssl-params-settings.c @@ -27,12 +27,10 @@ struct setting_parser_info ssl_params_setting_parser_info = { MEMBER(defines) ssl_params_setting_defines, MEMBER(defaults) &ssl_params_default_settings, - MEMBER(parent) NULL, - MEMBER(dynamic_parsers) NULL, - - MEMBER(parent_offset) (size_t)-1, MEMBER(type_offset) (size_t)-1, - MEMBER(struct_size) sizeof(struct ssl_params_settings) + MEMBER(struct_size) sizeof(struct ssl_params_settings), + + MEMBER(parent_offset) (size_t)-1 }; struct ssl_params_settings *