From 37aae530098f10565ea3408891c901e086b8d5b8 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 23 Jan 2016 03:06:29 -0700 Subject: [PATCH] various small cleanups --- doc/vim/syntax/zig.vim | 2 +- example/cat/main.zig | 27 ++++++++++++++------------- std/std.zig | 3 ++- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/doc/vim/syntax/zig.vim b/doc/vim/syntax/zig.vim index ce054a5cb6..b29b8c7530 100644 --- a/doc/vim/syntax/zig.vim +++ b/doc/vim/syntax/zig.vim @@ -9,7 +9,7 @@ endif syn keyword zigStorage const var extern volatile export pub noalias syn keyword zigStructure struct enum -syn keyword zigStatement goto break return continue asm +syn keyword zigStatement goto break return continue asm defer syn keyword zigConditional if else switch syn keyword zigRepeat while for diff --git a/example/cat/main.zig b/example/cat/main.zig index 6c96b983e4..7d38793e74 100644 --- a/example/cat/main.zig +++ b/example/cat/main.zig @@ -7,11 +7,10 @@ import "std.zig"; // * update std API // * defer // * %return -// * %% operator +// * %% binary operator +// * %% prefix operator // * cast err type to string -pub %.Invalid; - pub fn main(args: [][]u8) %void => { const exe = args[0]; var catted_anything = false; @@ -24,7 +23,7 @@ pub fn main(args: [][]u8) %void => { } else { var is: InputStream; is.open(arg, OpenReadOnly) %% (err) => { - stderr.print("Unable to open file: {}", ([]u8])(err)); + %%stderr.print("Unable to open file: {}", ([]u8])(err)); return err; } defer is.close(); @@ -39,7 +38,7 @@ pub fn main(args: [][]u8) %void => { } fn usage(exe: []u8) %void => { - stderr.print("Usage: {} [FILE]...\n", exe); + %%stderr.print("Usage: {} [FILE]...\n", exe); return %.Invalid; } @@ -47,16 +46,18 @@ fn cat_stream(is: InputStream) %void => { var buf: [1024 * 4]u8; while (true) { - const bytes_read = is.read(buf); - if (bytes_read < 0) { - stderr.print("Unable to read from stream: {}", ([]u8)(is.err)); - return is.err; + const bytes_read = is.read(buf) %% (err) => { + %%stderr.print("Unable to read from stream: {}", ([]u8)(err)); + return err; } - const bytes_written = stdout.write(buf[0...bytes_read]); - if (bytes_written < bytes_read) { - stderr.print("Unable to write to stdout: {}", ([]u8)(stdout.err)); - return stdout.err; + if (bytes_read == 0) { + break; + } + + stdout.write(buf[0...bytes_read]) %% (err) => { + %%stderr.print("Unable to write to stdout: {}", ([]u8)(err)); + return err; } } } diff --git a/std/std.zig b/std/std.zig index eb1061a6ee..734b4e7ae8 100644 --- a/std/std.zig +++ b/std/std.zig @@ -23,6 +23,7 @@ pub var stderr = OutStream { .index = 0, .buffered = false, }; +*/ pub %.Unexpected; pub %.DiskQuota; @@ -32,7 +33,7 @@ pub %.Io; pub %.NoSpaceLeft; pub %.BadPerm; pub %.PipeFail; -*/ +pub %.Invalid; const buffer_size = 4 * 1024; const max_u64_base10_digits = 20;