def enc.room
bend-kit-tar@0.3.0.0 · tar.bend:677
import bend-kit-tar@0.3.0.0/tar.bend as Tar
import Base
677
678def enc.room(+ol: U32, +dl: U32, +nl: U32, +long: Bool) -> Bool:
679 +r0 = (4294967295 - ol : U32)
680 +pd = pad(dl)
681 +l = rec.len(nl)
682 +pl = pad(l)
683 +okd = U32.is_le(1536, r0) && (U32.is_le(dl, pd) && U32.is_le(pd, (r0 - 1536 : U32)))
684 +r1 = (r0 - 1536 - pd : U32)
685 +okl = Bool.not(long) || (U32.is_le(nl, 4294967040) && (U32.is_le(l, pl) && (U32.is_le(512, r1) && U32.is_le(pl, (r1 - 512 : U32)))))
686 okd && okl