Mercurial > dovecot > core-2.2
comparison src/config/settings-get.pl @ 10177:d589d568a19d HEAD
Changed all settings related structs to const and changed APIs to make it work.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 23 Oct 2009 20:10:17 -0400 |
parents | dcda7c495eb6 |
children | afe52d60989c |
comparison
equal
deleted
inserted
replaced
10176:9e0123366fc5 | 10177:d589d568a19d |
---|---|
29 if ($state == 0) { | 29 if ($state == 0) { |
30 if (/struct .*_settings {/ || | 30 if (/struct .*_settings {/ || |
31 /struct setting_define.*{/ || | 31 /struct setting_define.*{/ || |
32 /struct .*_default_settings = {/) { | 32 /struct .*_default_settings = {/) { |
33 $state++; | 33 $state++; |
34 } elsif (/^(static )?struct setting_parser_info (.*) = {/) { | 34 } elsif (/^(static )?const struct setting_parser_info (.*) = {/) { |
35 $state++; | |
36 $cur_name = $2; | 35 $cur_name = $2; |
37 } elsif (/^extern struct setting_parser_info (.*);/) { | 36 $state++ if ($cur_name !~ /^\*default_/); |
38 $externs .= "extern struct setting_parser_info $1;\n"; | 37 } elsif (/^extern const struct setting_parser_info (.*);/) { |
38 $externs .= "extern const struct setting_parser_info $1;\n"; | |
39 } elsif (/\/\* <settings checks> \*\//) { | 39 } elsif (/\/\* <settings checks> \*\//) { |
40 $state = 4; | 40 $state = 4; |
41 $code .= $_; | 41 $code .= $_; |
42 } | 42 } |
43 | 43 |
60 } | 60 } |
61 if (/DEFLIST.*".*",(.*)$/) { | 61 if (/DEFLIST.*".*",(.*)$/) { |
62 my $value = $1; | 62 my $value = $1; |
63 if ($value =~ /.*&(.*)\)/) { | 63 if ($value =~ /.*&(.*)\)/) { |
64 $parsers{$1} = 0; | 64 $parsers{$1} = 0; |
65 $externs .= "extern struct setting_parser_info $1;\n"; | 65 $externs .= "extern const struct setting_parser_info $1;\n"; |
66 } else { | 66 } else { |
67 $state = 3; | 67 $state = 3; |
68 } | 68 } |
69 } | 69 } |
70 } elsif ($state == 3) { | 70 } elsif ($state == 3) { |