From aefa245b7a87fa2521c045d978ef0a68b41a164b Mon Sep 17 00:00:00 2001 From: Daniel Alves Date: Mon, 13 Jun 2016 09:58:43 -0700 Subject: [PATCH 1/3] Add missing self. --- sc_warts.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sc_warts.py b/sc_warts.py index 16af1fb..409d1ef 100755 --- a/sc_warts.py +++ b/sc_warts.py @@ -263,8 +263,8 @@ class WartsReader(object): """ Read a warts deprecated (type 5) style referenced address """ # deprecated address references start at 1 addr_id = len(self.address_ref) + 1 - id_mod = read_uint8_t(self.fd) - typ = read_uint8_t(self.fd) + id_mod = self.read_uint8_t(self.fd) + typ = self.read_uint8_t(self.fd) # "reader...can sanity check the ID number it determines by comparing the # lower 8 bits of the computed ID with the ID that is embedded in the record" assert(addr_id % 255 == id_mod) From f98ddc12c33db13f2a488cf2b9d85c7b7c759703 Mon Sep 17 00:00:00 2001 From: Daniel Alves Date: Mon, 13 Jun 2016 10:11:04 -0700 Subject: [PATCH 2/3] Add special case for read_referenced_address. --- sc_warts.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sc_warts.py b/sc_warts.py index 409d1ef..28e0468 100755 --- a/sc_warts.py +++ b/sc_warts.py @@ -168,7 +168,10 @@ class WartsReader(object): for i in range(len(flags_set)): if (flags_set[i]): read_cb = flag_defines[i][1] - val = read_cb(self.fd) + if read_cb == self.read_referenced_address: + val = read_cb() + else: + val = read_cb(self.fd) #print "Flag %d: %s %s" % (i+1, flag_defines[i][0], val) flags[flag_defines[i][0]] = val return flags From 06aa4093887631173cf30bfd2045863502d835e6 Mon Sep 17 00:00:00 2001 From: Daniel Alves Date: Mon, 13 Jun 2016 10:11:52 -0700 Subject: [PATCH 3/3] Fix lack of self. --- sc_warts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sc_warts.py b/sc_warts.py index 28e0468..4d4559c 100755 --- a/sc_warts.py +++ b/sc_warts.py @@ -315,7 +315,7 @@ class WartsReader(object): def read_referenced_address(self): """ Resolve a warts deprecated (type 5) style referenced address """ - addr_id = read_uint32_t(self.fd) + addr_id = self.read_uint32_t(self.fd) assert (addr_id in self.address_ref) addr = self.address_ref[addr_id] return addr