summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/file.c93
-rw-r--r--src/platform/file.h26
-rw-r--r--src/platform/platform.h37
-rw-r--r--src/platform/platform_unix.c16
-rw-r--r--src/platform/platform_windows.c22
5 files changed, 0 insertions, 194 deletions
diff --git a/src/platform/file.c b/src/platform/file.c
deleted file mode 100644
index 91daa4f..0000000
--- a/src/platform/file.c
+++ /dev/null
@@ -1,93 +0,0 @@
-#include "file.h"
-
-#include <errno.h>
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "log.h"
-#include "mem.h"
-#include "str.h"
-
-const char* string_from_file(const char* path) {
- FILE* f = fopen(path, "rb");
- if (f == NULL) {
- ERROR("Error reading file: %s. errno: %d", path, errno);
- return NULL;
- }
- if (ferror(f)) {
- ERROR("Error reading file: %s. errno: %d", path, errno);
- return NULL;
- }
- fseek(f, 0, SEEK_END);
- long fsize = ftell(f);
- rewind(f);
-
- char* string = malloc(fsize + 1);
- fread(string, fsize, 1, f);
- fclose(f);
-
- string[fsize] = '\0';
-
- return string;
-}
-
-str8_opt str8_from_file(arena* a, Str8 path) {
- char* p = cstr(a, path);
- str8_opt result = { .has_value = false };
-
- FILE* f = fopen(p, "rb");
- if (f == NULL) {
- ERROR("Error reading file: %s. errno: %d", path, errno);
- return result;
- }
- if (ferror(f)) {
- ERROR("Error reading file: %s. errno: %d", path, errno);
- return result;
- }
- fseek(f, 0, SEEK_END);
- long fsize = ftell(f);
- rewind(f);
-
- u8* raw = arena_alloc(a, fsize + 1);
- Str8 contents = Str8_create(raw, fsize);
- contents.buf[contents.len] = '\0';
-
- fread(raw, fsize, 1, f);
- fclose(f);
- result.contents = contents;
- result.has_value = true;
-
- return result;
-}
-
-FileData load_spv_file(const char* path) {
- FILE* f = fopen(path, "rb");
- if (f == NULL) {
- perror("Error opening file");
- return (FileData){ NULL, 0 };
- }
-
- fseek(f, 0, SEEK_END);
- long fsize = ftell(f);
- rewind(f);
-
- char* data = (char*)malloc(fsize);
- if (data == NULL) {
- perror("Memory allocation failed");
- fclose(f);
- return (FileData){ NULL, 0 };
- }
-
- size_t bytesRead = fread(data, 1, fsize, f);
- if (bytesRead < fsize) {
- perror("Failed to read the entire file");
- free(data);
- fclose(f);
- return (FileData){ NULL, 0 };
- }
-
- fclose(f);
- return (FileData){ data, bytesRead };
-}
diff --git a/src/platform/file.h b/src/platform/file.h
deleted file mode 100644
index 5e5e1e1..0000000
--- a/src/platform/file.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @file file.h
- * @brief File I/O utilities
- * @date 2024-02-24
- * @copyright Copyright (c) 2024
- */
-#pragma once
-
-#include "defines.h"
-#include "str.h"
-
-typedef struct str8_opt {
- Str8 contents;
- bool has_value;
-} str8_opt;
-
-const char* string_from_file(const char* path);
-
-str8_opt str8_from_file(arena* a, Str8 path);
-
-typedef struct {
- char* data;
- size_t size;
-} FileData;
-
-FileData load_spv_file(const char* path);
diff --git a/src/platform/platform.h b/src/platform/platform.h
deleted file mode 100644
index c2be630..0000000
--- a/src/platform/platform.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#pragma once
-
-#include "defines.h"
-#include "str.h"
-
-// -- Paths
-typedef struct path_opt {
- Str8 path;
- bool has_value;
-} path_opt;
-
-// TODO: convert to using str8
-// TODO: use uppercase code style
-path_opt path_parent(arena* a, const char* path);
-
-// --- Threads
-typedef struct CelThread CelThread;
-
-CelThread Thread_Create();
-void Thread_Destroy(CelThread* thread);
-
-// --- Mutexes
-typedef struct CelMutex CelMutex;
-
-CelMutex Mutex_Create();
-void Mutex_Destroy(CelMutex* mutex);
-
-/** @brief Blocks until the mutex can be acquired. if returns false then an error occurred and can
- * be checked (TODO) */
-bool Mutex_Lock(CelMutex* mutex);
-
-/** @brief Tries to acquire the mutex like `mutex_lock` but returns immediately if the mutex has
- * already been locked */
-bool Mutex_TryLock(CelMutex* mutex);
-
-/** @brief Releases a mutex. If it is already unlocked then does nothing */
-void Mutex_Unlock(CelMutex* mutex);
diff --git a/src/platform/platform_unix.c b/src/platform/platform_unix.c
deleted file mode 100644
index 86ac170..0000000
--- a/src/platform/platform_unix.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "platform.h"
-
-#if defined(CEL_PLATFORM_LINUX) || defined(CEL_PLATFORM_MAC)
-
-#include <libgen.h>
-#include <string.h>
-
-path_opt path_parent(arena* a, const char* path) {
- // Duplicate the string because dirname doesnt like const literals
- char* path_copy = arena_alloc(a, strlen(path) + 1);
- strcpy(path_copy, path);
- char* path_dirname = dirname(path_copy);
- return (path_opt){ .path = Str8_cstr_view(path_dirname), .has_value = true };
-}
-
-#endif
diff --git a/src/platform/platform_windows.c b/src/platform/platform_windows.c
deleted file mode 100644
index 21ef359..0000000
--- a/src/platform/platform_windows.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "platform.h"
-
-#if defined(CEL_PLATFORM_WINDOWS)
-
-#include <shlwapi.h>
-#include <windows.h>
-#pragma comment(lib, "Shlwapi.lib")
-
-path_opt path_parent(arena* a, const char* path) {
- // Duplicate the string because PathRemoveFileSpec mutates in-place
- size_t len = strlen(path) + 1;
- char* path_copy = arena_alloc(a, len);
- strcpy_s(path_copy, len, path);
-
- if (PathRemoveFileSpecA(path_copy)) {
- return (path_opt){ .path = Str8_cstr_view(path_copy), .has_value = true };
- } else {
- return (path_opt){ .has_value = false };
- }
-}
-
-#endif