summaryrefslogtreecommitdiff
path: root/tnslc/copy.tnsl
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/copy.tnsl')
-rw-r--r--tnslc/copy.tnsl39
1 files changed, 0 insertions, 39 deletions
diff --git a/tnslc/copy.tnsl b/tnslc/copy.tnsl
deleted file mode 100644
index 0050d1a..0000000
--- a/tnslc/copy.tnsl
+++ /dev/null
@@ -1,39 +0,0 @@
-:include "c_wrap_linux.tnsl"
-# :include "utils.tnsl"
-
-
-{}uint8 wrong_args = "Usage: copy [from] [to]"
-{}uint8 write_one = "\0\n\0"
-
-# Proof of concept copy program
-/; main (int argc, ~~uint8 argv) [int]
- asm "mov r8, rdi"
- asm "mov r9, rsi"
-
- /; if (argc < 3)
- _printf(~wrong_args{0})
- return 1
- ;/
-
- ~void read_handle = _open_file(argv{1})
- ~void write_handle = _create_file(argv{2})
-
- _print_num(~_dec{0}, read_handle)
- _print_num(~_dec{0}, write_handle)
-
- uint8 buf = 0
- int read_count = 0
- /; loop
- read_count = _read_byte(read_handle, ~buf)
- /; if (read_count == 0)
- break
- ;/
- _write_byte(write_handle, ~buf)
- read_count = 0
- ;/
-
- _close_file(read_handle)
- _close_file(write_handle)
-
- return 0
-;/