ACL: merge the tables used for codition/modifier decode
[exim.git] / src / scripts / source_checks
1 #!/bin/sh
2
3 cd src;
4
5 # Tables with struct items
6 while read file table
7 do
8   : $file $table
9   < $file \
10   perl -e '$/= undef; while (<>) { print $1 if /(?<='$table'\[\])\s*=\s*{\n(([^}].*\n)+)/m }' \
11   | awk '/{ (US)?"/ {print $2}' \
12   | awk -F\" '{print $2}' \
13   | LC_ALL=C sort -c \
14   || exit 1
15 done <<-END
16         readconf.c      optionlist_config
17         globals.c       optionlist_auths
18         globals.c       debug_options
19         globals.c       header_names
20         globals.c       log_options
21         expand.c        item_table
22         transport.c     optionlist_transports
23         route.c         optionlist_routers
24         transports/appendfile.c appendfile_transport_options
25         transports/autoreply.c  autoreply_transport_options
26         transports/lmtp.c       lmtp_transport_options
27         transports/pipe.c       pipe_transport_options
28         transports/smtp.c       smtp_transport_options
29         expand.c        var_table
30         acl.c           conditions
31         acl.c           controls_list
32 END
33
34 # Tables with just string items
35 while read file table
36 do
37   : $file $table
38   < $file \
39   perl -e '$/= undef; while (<>) { print $1 if /(?<='$table'\[\])\s*=\s*{\s?(([^}]*)+)}/m }' \
40   | awk -F\" '/"/ {print $2}' \
41   | LC_ALL=C sort -c \
42   || exit 1
43
44 done <<-END
45         expand.c        item_table
46         expand.c        op_table_underscore
47         expand.c        op_table_main
48         expand.c        cond_table
49         acl.c           verbs
50 END
51