//ww:run-exit 53 // Migrated from 778_bufio_vstream_run row scanner_byte_bytes. package main; import bufio; import errors; import memio; import io; export fn main() i32 = { let raw: [6]u8; raw[0]=65u8; raw[1]=66u8; raw[2]=44u8; raw[3]=67u8; raw[4]=68u8; raw[5]=44u8; let mst: memio.stream = memio.dynamicfrom(raw[0:6]); let vs: io.stream = &mst.vt; let win: [8]u8; let sc: bufio.scanner = bufio.newscannerbuf(vs, win[0:8]); let fb: u8 = 0u8; match (bufio.scanbyte(&sc)) { case let b: u8 => { fb = b; }; case io.eof => { return 81; }; case let e: io.error => { return 82; }; case errors.overflow => { return 92; }; }; if (fb != 65u8) { return 83; }; match (bufio.scanbytes(&sc, 44u8)) { case let bs: []u8 => { if (bs.len != 1 || bs[0] != 66u8) { return 84; }; }; case io.eof => { return 85; }; case let e: io.error => { return 86; }; case errors.overflow => { return 87; }; }; match (bufio.scanbytes(&sc, 44u8)) { case let bs: []u8 => { if (bs.len != 2 || bs[0] != 67u8 || bs[1] != 68u8) { return 88; }; }; case io.eof => { return 89; }; case let e: io.error => { return 90; }; case errors.overflow => { return 91; }; }; return 53; };