diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-24 14:50:19 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-24 14:50:19 +0330 |
commit | e89f5c93893e5dd969fe39e1aca00ad5bd8b5b7b (patch) | |
tree | 938077dd0bb205f0d8900bea9be0727966bcae62 | |
parent | 7847178e34d567eb566d71b551a82dd36d15ea99 (diff) |
fixing some bugs
-rw-r--r-- | code/main.felan | 3 | ||||
-rw-r--r-- | src/utils/file.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/code/main.felan b/code/main.felan index de7eabb..6c9ee46 100644 --- a/code/main.felan +++ b/code/main.felan @@ -1,7 +1,8 @@ @import("basic.felan"); main :: () -> void { - str := "123"; + str := "123\n"; print(str); }; +putchar :: (c:i32)->i32; diff --git a/src/utils/file.c b/src/utils/file.c index 340875c..f14334d 100644 --- a/src/utils/file.c +++ b/src/utils/file.c @@ -94,9 +94,8 @@ char *joinToPathOf(const char *original, const char *file) { strncpy(result, original, result_size); result[result_size++] = '/'; - bool startOfDirName = true; for (size_t i = 0; file[i] != '\0'; ++i) { - if (startOfDirName && file[i + 1] == '.') { + if (result_size != 0 && result[result_size-1] == '/' && file[i + 1] == '.') { if (file[i + 2] == '/') { i += 2; continue; @@ -111,6 +110,9 @@ char *joinToPathOf(const char *original, const char *file) { } if (!found) { result_size = 0; + result[result_size++] = '.'; + result[result_size++] = '.'; + result[result_size++] = '/'; } continue; } |