diff options
| author | Cliff Click <cliffc@acm.org> | 2026-08-10 11:11:18 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-11-08 14:10:02 -0800 |
| commit | 44505aa5b75b1046f13f2bc2a52fe0b16d975838 (patch) | |
| tree | cc558485c807ac3842cd73943cf5e294c4a307de /src/test/smp/examples/FileIO.smp | |
| parent | 2560096fb4636263798ae56c88687973c72cdf6e (diff) | |
| download | Simple-linear-chapter30.tar.gz Simple-linear-chapter30.zip | |
Chapter 30: Text Formatting and Diagnosticslinear-chapter30
Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com>
Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com>
Co-authored-by: Symious <14933944+symious@users.noreply.github.com>
Co-authored-by: Jun Kawasaki <jun784@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/test/smp/examples/FileIO.smp')
| -rw-r--r-- | src/test/smp/examples/FileIO.smp | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/test/smp/examples/FileIO.smp b/src/test/smp/examples/FileIO.smp deleted file mode 100644 index e48d435b..00000000 --- a/src/test/smp/examples/FileIO.smp +++ /dev/null @@ -1,50 +0,0 @@ - -// An implementation of -// https://sampleprograms.io/projects/file-input-output/ - -val FILE = "output.txt"; - -val main = { u8[~][] args -> - var str = new sys.aryu8(); - str.addAry("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n"); - str.addAry("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"); - str.addAry("Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n"); - str.addAry("Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n"); - - // Create - i32 fd = sys.io.create(FILE); - if( fd == -1 ) return _error(); - // Write - int wrote = sys.io.writeOff(fd,str.buf,0,str.len); - if( wrote == -1 ) return _error(); - if( wrote != str.len ) return _error2(-2); - // Close - if( sys.io.close(fd) != 0 ) return _error(); - - // Open - i32 fd2 = sys.io.open(FILE); - if( fd2 == -1 ) return _error(); - // Read - var got = sys.io.read(fd2); - if( got# != str.len ) return _error2(-3); - // Close - if( sys.io.close(fd2) != 0 ) return _error(); - - // Check contents are equal - if( sys.ary.cmp(got,0,str.buf,0,str.len) ) - return _error2(-4); - - // Remove - if( sys.io.remove(FILE) != 0 ) return _error(); - - sys.io.p("File I/O succeeded\n"); - return 0; -}; - -val _error2 = { i32 errno -> - sys.io.remove(FILE); - new sys.aryu8().addAry("Failed with error code ").num(errno).add('\n').write(sys.libc.STDERR); - sys.libc._exit(errno); -}; - -val _error = { -> _error2(sys.libc.errno()); }; |
