Sqlite: fix segfault on bad/missing sqlite_dbfile. Bug 2606
[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         std-crypto.c    dh_constants
23         transport.c     optionlist_transports
24         route.c         optionlist_routers
25         transports/appendfile.c appendfile_transport_options
26         transports/autoreply.c  autoreply_transport_options
27         transports/lmtp.c       lmtp_transport_options
28         transports/pipe.c       pipe_transport_options
29         transports/smtp.c       smtp_transport_options
30         expand.c        var_table
31         acl.c           conditions
32         acl.c           controls_list
33 END
34
35 # Tables with just string items
36 while read file table
37 do
38   : $file $table
39   < $file \
40   perl -e '$/= undef; while (<>) { print $1 if /(?<='$table'\[\])\s*=\s*{\s?(([^}]*)+)}/m }' \
41   | awk -F\" '/"/ {print $2}' \
42   | LC_ALL=C sort -c \
43   || exit 1
44
45 done <<-END
46         expand.c        item_table
47         expand.c        op_table_underscore
48         expand.c        op_table_main
49         expand.c        cond_table
50         acl.c           verbs
51 END
52