From 65a4c198f3e2bc29141e867dc755a40ee39d01d6 Mon Sep 17 00:00:00 2001 From: Jonathan Hudson Date: Sat, 14 May 2022 12:10:49 +0100 Subject: [PATCH] improve consistency check script in the face of missing enums --- tools/rcmodes.rb | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/tools/rcmodes.rb b/tools/rcmodes.rb index 58732d7..34a6a0a 100755 --- a/tools/rcmodes.rb +++ b/tools/rcmodes.rb @@ -10,10 +10,26 @@ def process_enums wanted,have,enums processed = [] enums.each_with_index do |l,j| l.chomp! - if m = l.match(/^([A-Za-z]\S+)/) + ev = nil + k = -1 + if m = l.match(/^([A-Za-z]\S+)\s+=\s+(.*?),/) ev = m[1] + ex = m[2] + if z = ex.match(/\(1 << (\d+)\)/) + k = z[1].to_i + else + k = ex.to_i + end + elsif m = l.match(/^([A-Za-z]\S+)/) + ev = m[1] + end + if !ev.nil? break if ev.match(/_COUNT$/) && j = enums.size - 1 - processed << ev + if k != -1 + processed[k] =ev + else + processed << ev + end end end @@ -27,6 +43,9 @@ def process_enums wanted,have,enums when 'adjustmentFunction_e' l = l.sub(/^ADJUSTMENT_/,'') end + if l.nil? + l = "**** MISSING ****" + end l.gsub!(',','') puts " \"#{l}\",\t\t// #{j}" end