Files
ww/test/wcc/data/r700_bufio_scanline_discard/case.ww

41 lines
1.3 KiB
Plaintext

//ww:run-exit 13
// Migrated from 700_e2e row 104.
package main;
import bufio;
import errors;
import io;
import memio;
fn main() i32 = {
let raw: [11]u8;
raw[0] = 102u8; raw[1] = 111u8; raw[2] = 111u8; raw[3] = 10u8;
raw[4] = 98u8; raw[5] = 97u8; raw[6] = 114u8; raw[7] = 10u8;
raw[8] = 98u8; raw[9] = 97u8; raw[10] = 122u8;
let mst: memio.stream = memio.fixed(raw[0:11]);
let m: io.stream = &mst.vt;
let buf: [16]u8;
let sc: bufio.scanner = bufio.newscannerbuf(m, buf[0:16]);
let acc: i32 = 0;
let l1: (str | io.eof | io.error | errors.overflow) = bufio.scanline(&sc);
match (l1) {
case let s: str => acc += s.len;
case io.eof => acc += -100;
case let _e: io.error => acc += -1000;
case errors.overflow => acc += -10000;
};
let l2: (str | io.eof | io.error | errors.overflow) = bufio.scanline(&sc);
match (l2) {
case let s: str => acc += s.len;
case io.eof => acc += -100;
case let _e: io.error => acc += -1000;
case errors.overflow => acc += -10000;
};
let l3: (str | io.eof | io.error | errors.overflow) = bufio.scanline(&sc);
match (l3) {
case let s: str => acc += -100;
case io.eof => acc += 7;
case let _e: io.error => acc += -1000;
case errors.overflow => acc += -10000;
};
return acc;
};