| encode_node#(ND, OFFSET; SIZE, BUF; ERR) {let NDSIZE = node-size-headerless(ND) in let ALIGNEDSIZE = align↑(NDSIZE, 2 * NODE_HEADER_SIZE), SIZE0 = ? in {encode_header#(nodeheader(NDSIZE, false), OFFSET; BUF; ERR); if ERR = ESUCCESS then encode_node_headerless#(ND, OFFSET + NODE_HEADER_SIZE; BUF, SIZE0; ERR); if ERR = ESUCCESS then {BUF := fill(BUF, empty, OFFSET + NODE_HEADER_SIZE + NDSIZE, ALIGNEDSIZE - NDSIZE); BUF := copy(validtrailer, 0, BUF, OFFSET + NODE_HEADER_SIZE + ALIGNEDSIZE, NODE_HEADER_SIZE)}; SIZE := 2 * NODE_HEADER_SIZE + ALIGNEDSIZE} } |