From 8e23d60540bb1e88709a7e23bf43bf4ea6b70557 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Tue, 21 Jul 2026 14:35:43 +0200 Subject: [PATCH] Updated fnl example --- examples/fnl/fnl.q | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/examples/fnl/fnl.q b/examples/fnl/fnl.q index 458717d..b56e4c2 100644 --- a/examples/fnl/fnl.q +++ b/examples/fnl/fnl.q @@ -19,7 +19,16 @@ main() { "-add" { mode = Mode.Add } "-remove" { mode = Mode.Remove } _ { - processFile(args[i], mode) + err := processFile(args[i], mode) + + if err != 0 { + io.write("error processing file '") + io.write(args[i]) + io.write("': ") + io.writeLine(err) + run.exit(1) + } + return } } @@ -62,27 +71,24 @@ processStdin(mode int) { } } -processFile(path string, mode int) { +processFile(path string, mode int) -> error { source, err := fs.readFile(path) if err != 0 { - io.write("error reading file: ") - io.writeLine(path) - run.exit(err) + return err } if source.len == 0 { - return + return 0 } io.write(path) io.write(": ") - err := 0 as error if source[source.len-1] == '\n' { if mode == Mode.Remove { io.writeLine("no final newline [removed]") - err = fs.writeFile(path, source[..source.len-1]) + return fs.writeFile(path, source[..source.len-1]) } else { io.writeLine("final newline") } @@ -90,16 +96,13 @@ processFile(path string, mode int) { if mode == Mode.Add { io.writeLine("final newline [added]") newSource := addNewline(source) - err = fs.writeFile(path, newSource) + return fs.writeFile(path, newSource) } else { io.writeLine("no final newline") } } - if err != 0 { - io.write("error writing file: ") - io.writeLine(err) - } + return 0 } addNewline(content string) -> !string { -- 2.51.2