This commit is contained in:
cozis
2022-12-06 23:58:13 +01:00
parent 380b8a8917
commit a92e8a71cc
4 changed files with 11364 additions and 20 deletions
+1 -17
View File
@@ -1,3 +1,4 @@
Scanner = {src: String, i: int}; Scanner = {src: String, i: int};
fun newScanner(src: String) { fun newScanner(src: String) {
@@ -300,21 +301,4 @@ fun parse(src: String) {
scan = newScanner(src); scan = newScanner(src);
val, err = parseValue(scan); val, err = parseValue(scan);
return val, err; return val, err;
}
fun parseFile(file: String | File) {
if type(file) == String: {
file, err = files.open(file, files.READ);
if err != none:
return none, err;
}
src, err = files.read(file);
if err != none:
return none, err;
assert(type(src) == String);
val, err = parse(src);
return val, err;
} }
+11352
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -16,7 +16,7 @@ static int bin_new(Runtime *runtime, Object **argv, unsigned int argc, Object *r
long long int size = Object_GetInt(argv[0]); long long int size = Object_GetInt(argv[0]);
Object *temp = Object_NewBuffer(size, Runtime_GetHeap(runtime), error); Object *temp = Object_NewBuffer(size, Runtime_GetHeap(runtime), error);
if(temp == NULL) if(temp == NULL)
return -1; return -1;
+10 -2
View File
@@ -65,9 +65,17 @@ size_t Runtime_GetCurrentScriptFolder(Runtime *runtime, char *buff, size_t buffs
{ {
const char *path = Runtime_GetCurrentScriptAbsolutePath(runtime); const char *path = Runtime_GetCurrentScriptAbsolutePath(runtime);
if(path == NULL) { if(path == NULL) {
if(getcwd(buff, sizeof(buffsize)) == NULL) if(getcwd(buff, buffsize) == NULL)
return 0; return 0;
return strlen(buff); size_t cwdlen = strlen(buff);
if (buff[cwdlen-1] == '/')
return cwdlen;
else {
if (cwdlen+1 >= buffsize)
return 0;
buff[cwdlen] = '/';
return cwdlen+1;
}
} }
// This following block is a custom implementation // This following block is a custom implementation