CCCPaste

padding struct

import struct


def st_pad(st:struct.Struct, multiple:int=1) -> struct.Struct:
    factor, rest = divmod(st.size, multiple)

    if rest:
        factor += 1

    padding = factor * multiple - st.size

    if padding:
        print("return with padding")
        return struct.Struct(st.format + f"{padding}x")

    print("return original")
    return st


ST_STATE = st_pad(struct.Struct("<4b4i8f"), 16)