summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-24 14:50:19 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-24 14:50:19 +0330
commite89f5c93893e5dd969fe39e1aca00ad5bd8b5b7b (patch)
tree938077dd0bb205f0d8900bea9be0727966bcae62 /src/utils
parent7847178e34d567eb566d71b551a82dd36d15ea99 (diff)
fixing some bugs
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/file.c6
1 files changed, 4 insertions, 2 deletions
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;
}