diff options
author | Bjørn Mork <bjorn@mork.no> | 2016-03-17 15:08:58 +0100 |
---|---|---|
committer | Bjørn Mork <bjorn@mork.no> | 2016-03-17 15:08:58 +0100 |
commit | 1a40d72023ab0b222090829a0ce60b537d51b8c3 (patch) | |
tree | 3cb18850fad5faaa3499588265c88e7e8369ee24 | |
parent | fa7580782eda05ea538e7f9942334e2c065d8da4 (diff) |
parsecwe.pl: finalized
Signed-off-by: Bjørn Mork <bjorn@mork.no>
-rwxr-xr-x | scripts/parsecwe.pl | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/scripts/parsecwe.pl b/scripts/parsecwe.pl index 483372b..13f9908 100755 --- a/scripts/parsecwe.pl +++ b/scripts/parsecwe.pl @@ -130,12 +130,12 @@ sub parse_nvup { # observed pattern: # switch (flag) { # 00: file - # 02: weird entry + # 02: weird entry - only a single 00 byte. padding? # 08: named variable if ($flag == 2) { - $name = join(' ', map { sprintf "%02x" } unpack("C*", $name)); + $name = join(' ', map { sprintf "%02x", $_ } unpack("C*", $name)); } - printf ", <%02x> $name =>", $flag; + printf ", <%02x> $name => ", $flag; } elsif ($d == 2) { # value # observed pattern: # data sometimes(?) contains a CWE header @@ -143,12 +143,10 @@ sub parse_nvup { $data = $cwelen ? substr($data, -$cwelen) : ''; } else { # nvitem # the NVITEM data is everything - printf " NVITEM 0x%04x =>", $d; + printf " NVITEM 0x%04x => ", $d; } - for (unpack("C*", $data)) { - printf " %02x", $_; - } - $nvup = substr($nvup, 6 + $tlen); + print join(':', map { sprintf "%02x", $_ } unpack("C*", $data)); + $nvup = substr($nvup, 6 + $tlen); } print "\n"; } |