-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Looking at the current filesystem files, seems that for a few platforms, we already have mkdir-like options
vita:
| sceIoMkdir(retval, 0777); |
emscripten:
| if (mkdir(retval, 0700) != 0 && errno != EEXIST) { |
haiku:
SDL/src/filesystem/haiku/SDL_sysfilesystem.cc
Line 101 in c59d4dc
| create_directory(retval, 0700); // Haiku api: creates missing dirs |
os2:
SDL/src/filesystem/os2/SDL_sysfilesystem.c
Line 108 in c59d4dc
| DosCreateDir(acBuf, NULL); |
cocoa:
SDL/src/filesystem/cocoa/SDL_sysfilesystem.m
Line 123 in c59d4dc
| mkdir(retval, 0700); |
windows:
| api_result = CreateDirectoryW(path, NULL); |
riscos:
SDL/src/filesystem/riscos/SDL_sysfilesystem.c
Line 196 in 9ee6942
| error = createDirectoryRecursive(dir); |
winrt:
| api_result = CreateDirectoryW(path, NULL); |
unix:
SDL/src/filesystem/unix/SDL_sysfilesystem.c
Line 318 in 345c161
| if (mkdir(retval, 0700) != 0 && errno != EEXIST) { |
here's an example of how the api could look
typedef enum
{
SDL_DIRECTORY_READ = 1 << 0,
SDL_DIRECTORY_WRITE = 1 << 1,
SDL_DIRECTORY_EXECUTE = 1 << 2,
SDL_DIRECTORY_RW = SDL_DIRECTORY_READ | SDL_DIRECTORY_WRITE,
SDL_DIRECTORY_RWX = SDL_DIRECTORY_READ | SDL_DIRECTORY_WRITE | SDL_DIRECTORY_EXECUTE,
} SDL_DirectoryFlags;
int SDL_CreateDirectory(const char* path, Uint32 flags);I'm not sure what the return code should look like. 0 on success probably, anything negative for error, maybe a positive value for warnings such as if the dir already exists?