From bf41d9ad53fab0e38b0af365fda1cdefa7a4d59d Mon Sep 17 00:00:00 2001 From: Phil <phil@secdev.org> Date: Thu, 18 Feb 2010 16:53:47 +0100 Subject: [PATCH] Have Packet.show() indent field values represented on several lines --- scapy/packet.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scapy/packet.py b/scapy/packet.py index 4e3c893c..1f51f318 100644 --- a/scapy/packet.py +++ b/scapy/packet.py @@ -801,10 +801,16 @@ Creates an EPS file describing a packet. If filename is not provided a temporary for fvalue in fvalue_gen: fvalue.show(indent=indent, label_lvl=label_lvl+lvl+" |") else: - print "%s %-10s%s %s" % (label_lvl+lvl, - ncol(f.name), - ct.punct("="), - vcol(f.i2repr(self,fvalue))) + begn = "%s %-10s%s " % (label_lvl+lvl, + ncol(f.name), + ct.punct("="),) + reprval = f.i2repr(self,fvalue) + if type(reprval) is str: + reprval = reprval.replace("\n", "\n"+" "*(len(label_lvl) + +len(lvl) + +len(f.name) + +4)) + print "%s%s" % (begn,vcol(reprval)) self.payload.show(indent=indent, lvl=lvl+(" "*indent*self.show_indent), label_lvl=label_lvl) def show2(self): """Prints a hierarchical view of an assembled version of the packet, so that automatic fields are calculated (checksums, etc.)""" -- GitLab