29 lines
899 B
Plaintext
29 lines
899 B
Plaintext
//ww:run-exit 51
|
|
// Migrated from 778_bufio_vstream_run row branched_bufio_wrap.
|
|
package main;
|
|
import bufio;
|
|
import memio;
|
|
import io;
|
|
export fn main() i32 = {
|
|
let raA: [4]u8;
|
|
raA[0] = 10u8; raA[1] = 11u8; raA[2] = 12u8; raA[3] = 13u8;
|
|
let raB: [4]u8;
|
|
raB[0] = 20u8; raB[1] = 21u8; raB[2] = 22u8; raB[3] = 23u8;
|
|
let mstA: memio.stream = memio.fixed(raA[0:4]);
|
|
let mstB: memio.stream = memio.fixed(raB[0:4]);
|
|
let sel: i32 = 1;
|
|
let src: io.stream = &mstA.vt;
|
|
if (sel == 0) { src = &mstB.vt; };
|
|
let rbuf: [4]u8;
|
|
let wbuf: [4]u8;
|
|
let bc: bufio.stream = bufio.init(src, rbuf[0:4], wbuf[0:4]);
|
|
let vs: io.stream = &bc.vt;
|
|
let out: [4]u8;
|
|
let rd = io.read(vs, out[0:4]);
|
|
let n: size = 0;
|
|
if (rd is size) { n = rd as size; };
|
|
if (n != 4: size) { return 91; };
|
|
if (out[0] != 10u8 || out[3] != 13u8) { return 92; };
|
|
return 51;
|
|
};
|