| aubi_io_read_data#(PNUM, OFFSET, N0, N, APEBS; BUF; BITFLIPS, ERR) {if ubi-io-read-data-pre(PNUM, OFFSET, N0, N, BUF, APEBS) then {fail_or_success#(; ; ERR); BITFLIPS := ?; if ERR = ESUCCESS then BUF := copy(APEBS[PNUM].data, OFFSET, BUF, N0, N) else choose BUF0 with # BUF0 = # BUF ∧ range=(BUF0, 0, BUF, 0, N0) ∧ range=(BUF0, N0 + N, BUF, N0 + N, # BUF - N0 + N) in BUF := BUF0} else abort } |