diff --git a/scapy/fields.py b/scapy/fields.py index 0843adc42c616e55dd31bed416858de6b47efa6e..86ccf7816641100bfbc5e4460536f80ea4fb21ff 100644 --- a/scapy/fields.py +++ b/scapy/fields.py @@ -1053,7 +1053,7 @@ class FlagValue(object): r.append(self.names[i]) i += 1 x >>= 1 - return ("+" if self.multi else "").join(r) + return ("+" if self.multi else "").join(r) if r else int(self) def __repr__(self): return "<Flag %d (%s)>" % (self, self.flagrepr()) def __deepcopy__(self, memo): diff --git a/scapy/packet.py b/scapy/packet.py index 2ac07d15c05825b1b11481bb516c4062a214e216..cfd760b53545e270bcab8888669309b37b16881a 100644 --- a/scapy/packet.py +++ b/scapy/packet.py @@ -1196,6 +1196,8 @@ A side effect is that, to obtain "{" and "}" characters, you must use fv = fv.command() elif fld.islist and fld.holds_packets and type(fv) is list: fv = "[%s]" % ",".join( map(Packet.command, fv)) + elif isinstance(fld, FlagsField): + fv = int(fv) else: fv = repr(fv) f.append("%s=%s" % (fn, fv))