summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
authorJoshua Rowe <17525998+omnisci3nce@users.noreply.github.com>2024-03-14 22:08:43 +1100
committerGitHub <noreply@github.com>2024-03-14 22:08:43 +1100
commit70308798adbaa376da97c9c0739d437fe76b8b36 (patch)
tree09836fab6ddc9012a5f4437f2139ab0a704b3a78 /src/platform
parenta627f75cc956a463e3910a8f5f615932bad3a418 (diff)
parentb240374c23365e33727d78ca74e901bcb383e077 (diff)
Merge pull request #5 from omnisci3nce/cel-41-port-over-a-basic-3d-scene-example
CEL 41 port over a basic 3d scene example
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/file.c2
-rw-r--r--src/platform/path.c15
-rw-r--r--src/platform/path.h16
3 files changed, 32 insertions, 1 deletions
diff --git a/src/platform/file.c b/src/platform/file.c
index 44aa9d0..ec9259a 100644
--- a/src/platform/file.c
+++ b/src/platform/file.c
@@ -60,4 +60,4 @@ str8_opt str8_from_file(arena *a, str8 path) {
result.has_value = true;
return result;
-} \ No newline at end of file
+}
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