diff --git a/scapy/utils.py b/scapy/utils.py index 90cb1bb5f5cfd1fd03329fe56144db42c9aa92c3..40ce9a4b47a1b78247f8eab23ba6281e683a46e8 100644 --- a/scapy/utils.py +++ b/scapy/utils.py @@ -426,6 +426,22 @@ def incremental_label(label="tag%05i", start=0): yield label % start start += 1 + +# Python <= 2.5 do not provide bin() built-in function +try: + bin(0) +except NameError: + def _binrepr(val): + while val: + yield val & 1 + val >>= 1 + + binrepr = lambda val: "".join(reversed([str(bit) for bit in + _binrepr(val)])) or "0" +else: + binrepr = lambda val: bin(val)[2:] + + ######################### #### Enum management #### #########################