Mercurial > dovecot > core-2.2
diff src/config/settings-get.pl @ 10179:afe52d60989c HEAD
Moved default service settings from master.conf to source code.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 23 Oct 2009 21:47:30 -0400 |
parents | d589d568a19d |
children | 4dc080520769 |
line wrap: on
line diff
--- a/src/config/settings-get.pl Fri Oct 23 20:11:59 2009 -0400 +++ b/src/config/settings-get.pl Fri Oct 23 21:47:30 2009 -0400 @@ -10,7 +10,9 @@ print '#include <stddef.h>'."\n"; print '#include <unistd.h>'."\n"; print '#define CONFIG_BINARY'."\n"; +print 'extern buffer_t config_all_services_buf;'; +my @services = (); my %parsers = {}; foreach my $file (@ARGV) { @@ -31,6 +33,9 @@ /struct setting_define.*{/ || /struct .*_default_settings = {/) { $state++; + } elsif (/^struct service_settings (.*) = {/) { + $state++; + push @services, $1; } elsif (/^(static )?const struct setting_parser_info (.*) = {/) { $cur_name = $2; $state++ if ($cur_name !~ /^\*default_/); @@ -90,6 +95,16 @@ close $f; } +print "static struct service_settings *config_all_services[] = {\n"; + +foreach my $name (@services) { + print "\t&$name,\n"; +} +print "};\n"; +print "buffer_t config_all_services_buf = {\n"; +print "\tconfig_all_services, sizeof(config_all_services), { 0, }\n"; +print "};\n"; + print "const struct setting_parser_info *all_roots[] = {\n"; foreach my $name (keys %parsers) { my $module = $parsers{$name};