diff options
author | Joshua Rowe <17525998+omnisci3nce@users.noreply.github.com> | 2024-03-11 15:42:37 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 15:42:37 +1100 |
commit | 7b9ef1066e49fe3e0c7791e097b26445f0f35f3d (patch) | |
tree | 1b0d3222a8b37e12a8b128861bac6ad380228362 /src/platform | |
parent | 8019f49a4b0d657f882c148ae6582da78a7d2262 (diff) | |
parent | 25fc6a03a3c78c755e8b00c481c7d71da6e145c4 (diff) |
Merge pull request #6 from omnisci3nce/cel-49-directory-name-function-posix
Support relative path in loaders using a wrapper around dirname()
Diffstat (limited to 'src/platform')
-rw-r--r-- | src/platform/path.c | 15 | ||||
-rw-r--r-- | src/platform/path.h | 16 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/platform/path.c b/src/platform/path.c new file mode 100644 index 0000000..e67102b --- /dev/null +++ b/src/platform/path.c @@ -0,0 +1,15 @@ +#include "path.h" + +#include <libgen.h> +#include <string.h> +#include "str.h" + +#if defined(CEL_PLATFORM_LINUX) || defined(CEL_PLATFORM_MAC) +path_opt path_parent(const char* path) { + char* path_dirname = dirname(path); + return (path_opt){ .path = str8_cstr_view(path_dirname), .has_value = true }; +} +#endif +#ifdef CEL_PLATFORM_WINDOWS +// TODO: path_opt path_parent(const char* path) +#endif
\ No newline at end of file diff --git a/src/platform/path.h b/src/platform/path.h new file mode 100644 index 0000000..0ec6993 --- /dev/null +++ b/src/platform/path.h @@ -0,0 +1,16 @@ +/** + * @file path.h + * @brief + * @date 2024-03-11 + * @copyright Copyright (c) 2024 + */ +#pragma once + +#include "str.h" + +typedef struct path_opt { + str8 path; + bool has_value; +} path_opt; + +path_opt path_parent(const char* path); // TODO: convert to using str8
\ No newline at end of file |