The r-prefixed waves absorb the runtime, reject, and byte-compare rows of the migrated native carriers; each fixture is one directory with one case.ww and a //ww:error, //ww:compile, //ww:run, or //ww:run-exit directive covering both frontends.
22 lines
514 B
Plaintext
22 lines
514 B
Plaintext
//ww:run-exit 70
|
|
// Migrated from 775_io_vtable_run row reader_set_happy.
|
|
package main;
|
|
import io;
|
|
fn myread(s: io.stream, buf: []u8) (size | io.eof | io.error) = {
|
|
return 7: size;
|
|
};
|
|
export fn main() i32 = {
|
|
let vt: io.vtable;
|
|
vt.reader = (&myread): *io.reader;
|
|
let v: io.stream = &vt;
|
|
let buf: [4]u8;
|
|
let bs: []u8 = buf[0:4];
|
|
let r = io.read(v, bs);
|
|
if (r is size) {
|
|
let n = r as size;
|
|
if (n == 7: size) { return 70; };
|
|
return 71;
|
|
};
|
|
return 99;
|
|
};
|