Skip to content
Snippets Groups Projects
Commit 803e9997 authored by Mitchel Humpherys's avatar Mitchel Humpherys Committed by Gerrit - the friendly Code Review server
Browse files

lrdpv2: roareadiff: don't print non-printable characters

The format of the roareadiff output was recently changed, in
[99a8ae9d: "linux-ramdump-parser-v2: Update roareadiff for arm64"].
That change introduced the possibility of printing non-printable
characters in string representations of the memory dumps.  Fix this by
outputting a `.' for non-printable characters.

Change-Id: I1efd0775fac89618f43986523c6a9207afed7e5e
parent 1755740c
No related branches found
No related tags found
No related merge requests found
# Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. # Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 and # it under the terms of the GNU General Public License version 2 and
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
# GNU General Public License for more details. # GNU General Public License for more details.
import struct import struct
import string
from print_out import print_out_str from print_out import print_out_str
from collections import namedtuple from collections import namedtuple
...@@ -126,8 +127,10 @@ class ROData(RamParser): ...@@ -126,8 +127,10 @@ class ROData(RamParser):
ddr_str += '{0:0>8x}'.format(ram_value) ddr_str += '{0:0>8x}'.format(ram_value)
vmlinux_str += '{0:0>8x}'.format(vm_value) vmlinux_str += '{0:0>8x}'.format(vm_value)
for j in range(4): for j in range(4):
ddr_ascii += '{0:c}'.format(struct.unpack('B', ram_values[i + j])[0]).rstrip() c = '{0:c}'.format(struct.unpack('B', ram_values[i + j])[0]).rstrip()
vm_ascii += '{0:c}'.format(struct.unpack('B', vm_values[i + j])[0]).rstrip() ddr_ascii += c if c in string.printable else '.'
c = '{0:c}'.format(struct.unpack('B', vm_values[i + j])[0]).rstrip()
vm_ascii += c if c in string.printable else '.'
detect += 1 detect += 1
i = i + 4 i = i + 4
if detect != 0xFFFFFFFF: if detect != 0xFFFFFFFF:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment