diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2023-06-28 16:21:15 -0500 |
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2023-06-28 16:21:15 -0500 |
| commit | 73843fa284968b4efb0ae51858cb37d0189c4b83 (patch) | |
| tree | 278982b5b0b8fdb933d5d57f801145ab7cbf99aa /std | |
| parent | 7d14243f769ad911d7c057b891ed89a95d7c1bfd (diff) | |
| download | sloth-73843fa284968b4efb0ae51858cb37d0189c4b83.tar.gz | |
filer added to std
Diffstat (limited to 'std')
| -rw-r--r-- | std/stdio.c | 20 | ||||
| -rw-r--r-- | std/stdio.sloth | 3 |
2 files changed, 21 insertions, 2 deletions
diff --git a/std/stdio.c b/std/stdio.c index f6dbeaf..b5f1dd0 100644 --- a/std/stdio.c +++ b/std/stdio.c @@ -26,3 +26,23 @@ void curshide() { void cursshow() { print("\x1b[?25h"); } + +char* filer(char* path) { + FILE *fptr = fopen(path, "rb"); + char *contents = 0; + + if(fptr == NULL) { + return "File not found"; + } + fseek(fptr, 0, SEEK_END); + long size = ftell(fptr); + fseek(fptr, 0, SEEK_SET); + + contents = malloc(size); + fread(contents, 1, size, fptr); + fclose(fptr); + + return contents; +} + + diff --git a/std/stdio.sloth b/std/stdio.sloth index 77c9af0..37a2d07 100644 --- a/std/stdio.sloth +++ b/std/stdio.sloth @@ -1,6 +1,6 @@ foreign fn print(str: String) Void; foreign fn readln() String; - +foreign fn filer(path: String) String; foreign fn curshide(); foreign fn cursshow(); @@ -9,4 +9,3 @@ fn println(str: String) Void { print("\n"); } - |
