def frame.region

bend-kit-tar@0.3.0.0 · tar.bend:461

import bend-kit-tar@0.3.0.0/tar.bend as Tar
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

461# First bound the complete padded body, then restrict PAX to the exact payload.
462# Limits are left in reverse order; neither region slices or copies the backing buffer.
463def frame.region(+t: U32, +size: U32, +pd: U32, pax: Pax, acc: List<&1, Entry>, r: Bytes.Cursor & Maybe<&1, Bytes.CursorLimit>) -> Bytes.Cursor & St:
464  (c, m) = r
465  match m:
466    case Some{outer}:
467      frame.payload(t, size, (pd - size : U32), outer, pax, acc, Bytes.Cursor.region(c, size))
468    case None{}:
469      (c, SFail{})

Uses (13)

Used by (1)