From c51accd279f2b1b72897cc5ba943dfb8ebdb485f Mon Sep 17 00:00:00 2001 From: Elias Aebi Date: Mon, 20 Nov 2023 13:31:06 +0100 Subject: [PATCH] gral_directory_create --- gral.h | 1 + gral_linux.c | 4 ++++ gral_macos.m | 4 ++++ gral_windows.cpp | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/gral.h b/gral.h index 69b37d1..0707d16 100644 --- a/gral.h +++ b/gral.h @@ -178,6 +178,7 @@ void *gral_file_map(struct gral_file *file, size_t size); void gral_file_unmap(void *address, size_t size); void gral_file_rename(char const *old_path, char const *new_path); void gral_file_remove(char const *path); +void gral_directory_create(char const *path); void gral_directory_iterate(char const *path, void (*callback)(char const *name, void *user_data), void *user_data); void gral_directory_remove(char const *path); diff --git a/gral_linux.c b/gral_linux.c index 31033b9..638fe09 100644 --- a/gral_linux.c +++ b/gral_linux.c @@ -751,6 +751,10 @@ void gral_file_remove(char const *path) { unlink(path); } +void gral_directory_create(char const *path) { + mkdir(path, 0777); +} + void gral_directory_iterate(char const *path, void (*callback)(char const *name, void *user_data), void *user_data) { DIR *directory = opendir(path); struct dirent *entry; diff --git a/gral_macos.m b/gral_macos.m index 090c58e..587293c 100644 --- a/gral_macos.m +++ b/gral_macos.m @@ -786,6 +786,10 @@ void gral_file_remove(char const *path) { unlink(path); } +void gral_directory_create(char const *path) { + mkdir(path, 0777); +} + void gral_directory_iterate(char const *path, void (*callback)(char const *name, void *user_data), void *user_data) { DIR *directory = opendir(path); struct dirent *entry; diff --git a/gral_windows.cpp b/gral_windows.cpp index edbf4ef..2d8fe11 100644 --- a/gral_windows.cpp +++ b/gral_windows.cpp @@ -1150,6 +1150,10 @@ void gral_file_remove(char const *path) { DeleteFile(utf8_to_utf16(path)); } +void gral_directory_create(char const *path) { + CreateDirectory(utf8_to_utf16(path), NULL); +} + void gral_directory_iterate(char const *path_utf8, void (*callback)(char const *name, void *user_data), void *user_data) { int length = MultiByteToWideChar(CP_UTF8, 0, path_utf8, -1, NULL, 0); Buffer path_utf16(length + 2);