checkAPIs.pl: support for new-style dissectors in check_hf_entries
authorPeter Wu <peter@lekensteyn.nl>
Wed, 19 Sep 2018 22:19:27 +0000 (00:19 +0200)
committerAnders Broman <a.broman58@gmail.com>
Thu, 20 Sep 2018 22:59:58 +0000 (22:59 +0000)
Tested with dissectors like epan/dissectors/packet-netlink-sock_diag.c.

Change-Id: Icb43892d68896a8f61f4c0caf413327f0479f007
Reviewed-on: https://code.wireshark.org/review/29754
Reviewed-by: Anders Broman <a.broman58@gmail.com>
tools/checkAPIs.pl

index 9a597b60559f8f08bdc8249b44d8801d4f182bde..2b7f8233367fe016820502817f55e734e393417e 100755 (executable)
@@ -726,11 +726,23 @@ sub check_hf_entries($$)
         my $errorCount = 0;
 
         my @items;
-        @items = (${$fileContentsRef} =~ m{
+        my $hfRegex = qr{
                                   \{
                                   \s*
                                   &\s*([A-Z0-9_\[\]-]+)         # &hf
                                   \s*,\s*
+        }xis;
+        if (${$fileContentsRef} =~ /^#define\s+NEW_PROTO_TREE_API/m) {
+                $hfRegex = qr{
+                                  \sheader_field_info\s+
+                                  ([A-Z0-9_]+)
+                                  \s+
+                                  [A-Z0-9_]*
+                                  \s*=\s*
+                }xis;
+        }
+        @items = (${$fileContentsRef} =~ m{
+                                  $hfRegex                      # &hf or "new" hfi name
                                   \{\s*
                                   ("[A-Z0-9 '\./\(\)_:-]+")     # name
                                   \s*,\s*