aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMartin Mathieson <martin.mathieson@keysight.com>2020-12-15 11:16:45 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2020-12-15 11:54:48 +0000
commitb7cb24c1fdf2f65eaa6fc73a6a2ce2ebeed7817e (patch)
treeb990eefcb52aef7d3226dd320ea09524f242b6a1 /tools
parent0fdbe0839d823cb722d8dd6a4fbccce09adfe124 (diff)
check_typed_item_calls.py: some tweaks
Diffstat (limited to 'tools')
-rwxr-xr-xtools/check_typed_item_calls.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/check_typed_item_calls.py b/tools/check_typed_item_calls.py
index cfa5637c34..f55f73dd5a 100755
--- a/tools/check_typed_item_calls.py
+++ b/tools/check_typed_item_calls.py
@@ -155,7 +155,8 @@ known_non_contiguous_fields = { 'wlan.fixed.capabilities.cfpoll.sta',
'wlan.wfa.ie.wme.tspec.ts_info.reserved', # matches other fields in same sequence
'zbee_zcl_se.pp.attr.payment_control_configuration.reserved', # matches other fields in same sequence
'zbee_zcl_se.pp.snapshot_payload_cause.reserved', # matches other fields in same sequence
- 'ebhscr.eth.rsv' # matches other fields in same sequence
+ 'ebhscr.eth.rsv', # matches other fields in same sequence
+ 'v120.lli' # non-contiguous field (http://www.acacia-net.com/wwwcla/protocol/v120_l2.htm)
}
##################################################################################################
@@ -172,6 +173,10 @@ field_widths = {
'FT_INT32' : 32,
'FT_UINT40' : 40,
'FT_INT40' : 40,
+ 'FT_UINT48' : 48,
+ 'FT_INT48' : 48,
+ 'FT_UINT56' : 56,
+ 'FT_INT56' : 56,
'FT_UINT64' : 64,
'FT_INT64' : 64
}
@@ -269,7 +274,8 @@ class Item:
# Its a problem is the mask_width is > field_width - some of the bits won't get looked at!?
mask_width = n-1-mask_start
if mask_width > field_width:
- print('Error: ', self.filename, 'filter=', self.filter, self.item_type, 'so field_width=', field_width,
+ # N.B. No call, so no line number.
+ print(self.filename + ':', 'filter=', self.filter, self.item_type, 'so field_width=', field_width,
'but mask is', mask, 'which is', mask_width, 'bits wide!')
global issues_found
issues_found += 1
@@ -378,7 +384,7 @@ def find_items(filename, check_mask=False, check_label=False, check_consecutive=
contents = f.read()
# Remove comments so as not to trip up RE.
contents = removeComments(contents)
- matches = re.finditer(r'.*\{\s*\&(hf_.*),\s*{\s*\"(.+)\",\s*\"([a-zA-Z0-9_\-\.]+)\",\s*([A-Z0-9_]*),\s*.*,\s*([A-Z0-9x]*)\s*,', contents)
+ matches = re.finditer(r'.*\{\s*\&(hf_.*),\s*{\s*\"(.+)\",\s*\"([a-zA-Z0-9_\-\.]+)\",\s*([A-Z0-9_]*),\s*.*,\s*([A-Za-z0-9x]*)\s*,', contents)
for m in matches:
# Store this item.
hf = m.group(1)