From 73843fa284968b4efb0ae51858cb37d0189c4b83 Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Wed, 28 Jun 2023 16:21:15 -0500 Subject: filer added to std --- std/stdio.c | 20 ++++++++++++++++++++ std/stdio.sloth | 3 +-- 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'std') 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"); } - -- cgit v1.2.3