summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/SDL2/src/filesystem
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/SDL2/src/filesystem')
-rw-r--r--3rdparty/SDL2/src/filesystem/android/SDL_sysfilesystem.c62
-rw-r--r--3rdparty/SDL2/src/filesystem/cocoa/SDL_sysfilesystem.m106
-rw-r--r--3rdparty/SDL2/src/filesystem/dummy/SDL_sysfilesystem.c47
-rw-r--r--3rdparty/SDL2/src/filesystem/emscripten/SDL_sysfilesystem.c69
-rw-r--r--3rdparty/SDL2/src/filesystem/haiku/SDL_sysfilesystem.cc93
-rw-r--r--3rdparty/SDL2/src/filesystem/nacl/SDL_sysfilesystem.c42
-rw-r--r--3rdparty/SDL2/src/filesystem/unix/SDL_sysfilesystem.c229
-rw-r--r--3rdparty/SDL2/src/filesystem/windows/SDL_sysfilesystem.c182
-rw-r--r--3rdparty/SDL2/src/filesystem/winrt/SDL_sysfilesystem.cpp221
9 files changed, 0 insertions, 1051 deletions
diff --git a/3rdparty/SDL2/src/filesystem/android/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/android/SDL_sysfilesystem.c
deleted file mode 100644
index 3bdf9966d7f..00000000000
--- a/3rdparty/SDL2/src/filesystem/android/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_ANDROID
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include <unistd.h>
-#include <errno.h>
-
-#include "SDL_error.h"
-#include "SDL_filesystem.h"
-#include "SDL_system.h"
-
-
-char *
-SDL_GetBasePath(void)
-{
- /* The current working directory is / on Android */
- return NULL;
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- const char *path = SDL_AndroidGetInternalStoragePath();
- if (path) {
- size_t pathlen = SDL_strlen(path)+2;
- char *fullpath = (char *)SDL_malloc(pathlen);
- if (!fullpath) {
- SDL_OutOfMemory();
- return NULL;
- }
- SDL_snprintf(fullpath, pathlen, "%s/", path);
- return fullpath;
- }
- return NULL;
-}
-
-#endif /* SDL_FILESYSTEM_ANDROID */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/cocoa/SDL_sysfilesystem.m b/3rdparty/SDL2/src/filesystem/cocoa/SDL_sysfilesystem.m
deleted file mode 100644
index 6dee5805240..00000000000
--- a/3rdparty/SDL2/src/filesystem/cocoa/SDL_sysfilesystem.m
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_COCOA
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include <Foundation/Foundation.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include "SDL_error.h"
-#include "SDL_stdinc.h"
-#include "SDL_filesystem.h"
-
-char *
-SDL_GetBasePath(void)
-{ @autoreleasepool
-{
- NSBundle *bundle = [NSBundle mainBundle];
- const char* baseType = [[[bundle infoDictionary] objectForKey:@"SDL_FILESYSTEM_BASE_DIR_TYPE"] UTF8String];
- const char *base = NULL;
- char *retval = NULL;
-
- if (baseType == NULL) {
- baseType = "resource";
- }
- if (SDL_strcasecmp(baseType, "bundle")==0) {
- base = [[bundle bundlePath] fileSystemRepresentation];
- } else if (SDL_strcasecmp(baseType, "parent")==0) {
- base = [[[bundle bundlePath] stringByDeletingLastPathComponent] fileSystemRepresentation];
- } else {
- /* this returns the exedir for non-bundled and the resourceDir for bundled apps */
- base = [[bundle resourcePath] fileSystemRepresentation];
- }
-
- if (base) {
- const size_t len = SDL_strlen(base) + 2;
- retval = (char *) SDL_malloc(len);
- if (retval == NULL) {
- SDL_OutOfMemory();
- } else {
- SDL_snprintf(retval, len, "%s/", base);
- }
- }
-
- return retval;
-}}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{ @autoreleasepool
-{
- char *retval = NULL;
-
- NSArray *array = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
-
- if ([array count] > 0) { /* we only want the first item in the list. */
- NSString *str = [array objectAtIndex:0];
- const char *base = [str fileSystemRepresentation];
- if (base) {
- const size_t len = SDL_strlen(base) + SDL_strlen(org) + SDL_strlen(app) + 4;
- retval = (char *) SDL_malloc(len);
- if (retval == NULL) {
- SDL_OutOfMemory();
- } else {
- char *ptr;
- SDL_snprintf(retval, len, "%s/%s/%s/", base, org, app);
- for (ptr = retval+1; *ptr; ptr++) {
- if (*ptr == '/') {
- *ptr = '\0';
- mkdir(retval, 0700);
- *ptr = '/';
- }
- }
- mkdir(retval, 0700);
- }
- }
- }
-
- return retval;
-}}
-
-#endif /* SDL_FILESYSTEM_COCOA */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/dummy/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/dummy/SDL_sysfilesystem.c
deleted file mode 100644
index 2570f4c75cf..00000000000
--- a/3rdparty/SDL2/src/filesystem/dummy/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#if defined(SDL_FILESYSTEM_DUMMY) || defined(SDL_FILESYSTEM_DISABLED)
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include "SDL_error.h"
-#include "SDL_filesystem.h"
-
-char *
-SDL_GetBasePath(void)
-{
- SDL_Unsupported();
- return NULL;
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- SDL_Unsupported();
- return NULL;
-}
-
-#endif /* SDL_FILESYSTEM_DUMMY || SDL_FILESYSTEM_DISABLED */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/emscripten/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/emscripten/SDL_sysfilesystem.c
deleted file mode 100644
index ca49df1b984..00000000000
--- a/3rdparty/SDL2/src/filesystem/emscripten/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_EMSCRIPTEN
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-#include <errno.h>
-#include <sys/stat.h>
-
-#include "SDL_error.h"
-#include "SDL_filesystem.h"
-
-#include <emscripten/emscripten.h>
-
-char *
-SDL_GetBasePath(void)
-{
- char *retval = "/";
- return SDL_strdup(retval);
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- const char *append = "/libsdl/";
- char *retval;
- size_t len = 0;
-
- len = SDL_strlen(append) + SDL_strlen(org) + SDL_strlen(app) + 3;
- retval = (char *) SDL_malloc(len);
- if (!retval) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- SDL_snprintf(retval, len, "%s%s/%s/", append, org, app);
-
- if (mkdir(retval, 0700) != 0 && errno != EEXIST) {
- SDL_SetError("Couldn't create directory '%s': '%s'", retval, strerror(errno));
- SDL_free(retval);
- return NULL;
- }
-
- return retval;
-}
-
-#endif /* SDL_FILESYSTEM_EMSCRIPTEN */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/haiku/SDL_sysfilesystem.cc b/3rdparty/SDL2/src/filesystem/haiku/SDL_sysfilesystem.cc
deleted file mode 100644
index 03489168e8a..00000000000
--- a/3rdparty/SDL2/src/filesystem/haiku/SDL_sysfilesystem.cc
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_HAIKU
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include <os/kernel/image.h>
-#include <os/storage/Directory.h>
-#include <os/storage/Entry.h>
-#include <os/storage/Path.h>
-
-#include "SDL_error.h"
-#include "SDL_stdinc.h"
-#include "SDL_assert.h"
-#include "SDL_filesystem.h"
-
-char *
-SDL_GetBasePath(void)
-{
- image_info info;
- int32 cookie = 0;
-
- while (get_next_image_info(0, &cookie, &info) == B_OK) {
- if (info.type == B_APP_IMAGE) {
- break;
- }
- }
-
- BEntry entry(info.name, true);
- BPath path;
- status_t rc = entry.GetPath(&path); /* (path) now has binary's path. */
- SDL_assert(rc == B_OK);
- rc = path.GetParent(&path); /* chop filename, keep directory. */
- SDL_assert(rc == B_OK);
- const char *str = path.Path();
- SDL_assert(str != NULL);
-
- const size_t len = SDL_strlen(str);
- char *retval = (char *) SDL_malloc(len + 2);
- if (!retval) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- SDL_memcpy(retval, str, len);
- retval[len] = '/';
- retval[len+1] = '\0';
- return retval;
-}
-
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- // !!! FIXME: is there a better way to do this?
- const char *home = SDL_getenv("HOME");
- const char *append = "config/settings/";
- const size_t len = SDL_strlen(home) + SDL_strlen(append) + SDL_strlen(org) + SDL_strlen(app) + 3;
- char *retval = (char *) SDL_malloc(len);
- if (!retval) {
- SDL_OutOfMemory();
- } else {
- SDL_snprintf(retval, len, "%s%s%s/%s/", home, append, org, app);
- create_directory(retval, 0700); // Haiku api: creates missing dirs
- }
-
- return retval;
-}
-
-#endif /* SDL_FILESYSTEM_HAIKU */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/nacl/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/nacl/SDL_sysfilesystem.c
deleted file mode 100644
index ac8fef1e323..00000000000
--- a/3rdparty/SDL2/src/filesystem/nacl/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-#include "SDL_error.h"
-#include "SDL_filesystem.h"
-
-#ifdef SDL_FILESYSTEM_NACL
-
-char *
-SDL_GetBasePath(void)
-{
- SDL_Unsupported();
- return NULL;
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- SDL_Unsupported();
- return NULL;
-}
-
-#endif /* SDL_FILESYSTEM_NACL */
-
diff --git a/3rdparty/SDL2/src/filesystem/unix/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/unix/SDL_sysfilesystem.c
deleted file mode 100644
index bd2e84cd1c5..00000000000
--- a/3rdparty/SDL2/src/filesystem/unix/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_UNIX
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <limits.h>
-
-#if defined(__FREEBSD__) || defined(__OPENBSD__)
-#include <sys/sysctl.h>
-#endif
-
-#include "SDL_error.h"
-#include "SDL_stdinc.h"
-#include "SDL_filesystem.h"
-
-static char *
-readSymLink(const char *path)
-{
- char *retval = NULL;
- ssize_t len = 64;
- ssize_t rc = -1;
-
- while (1)
- {
- char *ptr = (char *) SDL_realloc(retval, (size_t) len);
- if (ptr == NULL) {
- SDL_OutOfMemory();
- break;
- }
-
- retval = ptr;
-
- rc = readlink(path, retval, len);
- if (rc == -1) {
- break; /* not a symlink, i/o error, etc. */
- } else if (rc < len) {
- retval[rc] = '\0'; /* readlink doesn't null-terminate. */
- return retval; /* we're good to go. */
- }
-
- len *= 2; /* grow buffer, try again. */
- }
-
- SDL_free(retval);
- return NULL;
-}
-
-
-char *
-SDL_GetBasePath(void)
-{
- char *retval = NULL;
-
-#if defined(__FREEBSD__)
- char fullpath[PATH_MAX];
- size_t buflen = sizeof (fullpath);
- const int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
- if (sysctl(mib, SDL_arraysize(mib), fullpath, &buflen, NULL, 0) != -1) {
- retval = SDL_strdup(fullpath);
- if (!retval) {
- SDL_OutOfMemory();
- return NULL;
- }
- }
-#endif
-#if defined(__OPENBSD__)
- char **retvalargs;
- size_t len;
- const int mib[] = { CTL_KERN, KERN_PROC_ARGS, getpid(), KERN_PROC_ARGV };
- if (sysctl(mib, 4, NULL, &len, NULL, 0) != -1) {
- retvalargs = SDL_malloc(len);
- if (!retvalargs) {
- SDL_OutOfMemory();
- return NULL;
- }
- sysctl(mib, 4, retvalargs, &len, NULL, 0);
- retval = SDL_malloc(PATH_MAX + 1);
- if (retval)
- realpath(retvalargs[0], retval);
-
- SDL_free(retvalargs);
- }
-#endif
-#if defined(__SOLARIS__)
- const char *path = getexecname();
- if ((path != NULL) && (path[0] == '/')) { /* must be absolute path... */
- retval = SDL_strdup(path);
- if (!retval) {
- SDL_OutOfMemory();
- return NULL;
- }
- }
-#endif
-
- /* is a Linux-style /proc filesystem available? */
- if (!retval && (access("/proc", F_OK) == 0)) {
-#if defined(__FREEBSD__)
- retval = readSymLink("/proc/curproc/file");
-#elif defined(__NETBSD__)
- retval = readSymLink("/proc/curproc/exe");
-#else
- retval = readSymLink("/proc/self/exe"); /* linux. */
-#endif
- if (retval == NULL) {
- /* older kernels don't have /proc/self ... try PID version... */
- char path[64];
- const int rc = (int) SDL_snprintf(path, sizeof(path),
- "/proc/%llu/exe",
- (unsigned long long) getpid());
- if ( (rc > 0) && (rc < sizeof(path)) ) {
- retval = readSymLink(path);
- }
- }
- }
-
- /* If we had access to argv[0] here, we could check it for a path,
- or troll through $PATH looking for it, too. */
-
- if (retval != NULL) { /* chop off filename. */
- char *ptr = SDL_strrchr(retval, '/');
- if (ptr != NULL) {
- *(ptr+1) = '\0';
- } else { /* shouldn't happen, but just in case... */
- SDL_free(retval);
- retval = NULL;
- }
- }
-
- if (retval != NULL) {
- /* try to shrink buffer... */
- char *ptr = (char *) SDL_realloc(retval, strlen(retval) + 1);
- if (ptr != NULL)
- retval = ptr; /* oh well if it failed. */
- }
-
- return retval;
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- /*
- * We use XDG's base directory spec, even if you're not on Linux.
- * This isn't strictly correct, but the results are relatively sane
- * in any case.
- *
- * http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
- */
- const char *envr = SDL_getenv("XDG_DATA_HOME");
- const char *append;
- char *retval = NULL;
- char *ptr = NULL;
- size_t len = 0;
-
- if (!envr) {
- /* You end up with "$HOME/.local/share/Game Name 2" */
- envr = SDL_getenv("HOME");
- if (!envr) {
- /* we could take heroic measures with /etc/passwd, but oh well. */
- SDL_SetError("neither XDG_DATA_HOME nor HOME environment is set");
- return NULL;
- }
- append = "/.local/share/";
- } else {
- append = "/";
- }
-
- len = SDL_strlen(envr);
- if (envr[len - 1] == '/')
- append += 1;
-
- len += SDL_strlen(append) + SDL_strlen(org) + SDL_strlen(app) + 3;
- retval = (char *) SDL_malloc(len);
- if (!retval) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- SDL_snprintf(retval, len, "%s%s%s/%s/", envr, append, org, app);
-
- for (ptr = retval+1; *ptr; ptr++) {
- if (*ptr == '/') {
- *ptr = '\0';
- if (mkdir(retval, 0700) != 0 && errno != EEXIST)
- goto error;
- *ptr = '/';
- }
- }
- if (mkdir(retval, 0700) != 0 && errno != EEXIST) {
-error:
- SDL_SetError("Couldn't create directory '%s': '%s'", retval, strerror(errno));
- SDL_free(retval);
- return NULL;
- }
-
- return retval;
-}
-
-#endif /* SDL_FILESYSTEM_UNIX */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/windows/SDL_sysfilesystem.c b/3rdparty/SDL2/src/filesystem/windows/SDL_sysfilesystem.c
deleted file mode 100644
index fd942d75fa8..00000000000
--- a/3rdparty/SDL2/src/filesystem/windows/SDL_sysfilesystem.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#ifdef SDL_FILESYSTEM_WINDOWS
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent filesystem routines */
-
-#include "../../core/windows/SDL_windows.h"
-#include <shlobj.h>
-
-#include "SDL_assert.h"
-#include "SDL_error.h"
-#include "SDL_stdinc.h"
-#include "SDL_filesystem.h"
-
-char *
-SDL_GetBasePath(void)
-{
- typedef DWORD (WINAPI *GetModuleFileNameExW_t)(HANDLE, HMODULE, LPWSTR, DWORD);
- GetModuleFileNameExW_t pGetModuleFileNameExW;
- DWORD buflen = 128;
- WCHAR *path = NULL;
- HANDLE psapi = LoadLibrary(L"psapi.dll");
- char *retval = NULL;
- DWORD len = 0;
- int i;
-
- if (!psapi) {
- WIN_SetError("Couldn't load psapi.dll");
- return NULL;
- }
-
- pGetModuleFileNameExW = (GetModuleFileNameExW_t)GetProcAddress(psapi, "GetModuleFileNameExW");
- if (!pGetModuleFileNameExW) {
- WIN_SetError("Couldn't find GetModuleFileNameExW");
- FreeLibrary(psapi);
- return NULL;
- }
-
- while (SDL_TRUE) {
- void *ptr = SDL_realloc(path, buflen * sizeof (WCHAR));
- if (!ptr) {
- SDL_free(path);
- FreeLibrary(psapi);
- SDL_OutOfMemory();
- return NULL;
- }
-
- path = (WCHAR *) ptr;
-
- len = pGetModuleFileNameExW(GetCurrentProcess(), NULL, path, buflen);
- if (len != buflen) {
- break;
- }
-
- /* buffer too small? Try again. */
- buflen *= 2;
- }
-
- FreeLibrary(psapi);
-
- if (len == 0) {
- SDL_free(path);
- WIN_SetError("Couldn't locate our .exe");
- return NULL;
- }
-
- for (i = len-1; i > 0; i--) {
- if (path[i] == '\\') {
- break;
- }
- }
-
- SDL_assert(i > 0); /* Should have been an absolute path. */
- path[i+1] = '\0'; /* chop off filename. */
-
- retval = WIN_StringToUTF8(path);
- SDL_free(path);
-
- return retval;
-}
-
-char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- /*
- * Vista and later has a new API for this, but SHGetFolderPath works there,
- * and apparently just wraps the new API. This is the new way to do it:
- *
- * SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_CREATE,
- * NULL, &wszPath);
- */
-
- WCHAR path[MAX_PATH];
- char *retval = NULL;
- WCHAR* worg = NULL;
- WCHAR* wapp = NULL;
- size_t new_wpath_len = 0;
- BOOL api_result = FALSE;
-
- if (!SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, path))) {
- WIN_SetError("Couldn't locate our prefpath");
- return NULL;
- }
-
- worg = WIN_UTF8ToString(org);
- if (worg == NULL) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- wapp = WIN_UTF8ToString(app);
- if (wapp == NULL) {
- SDL_free(worg);
- SDL_OutOfMemory();
- return NULL;
- }
-
- new_wpath_len = lstrlenW(worg) + lstrlenW(wapp) + lstrlenW(path) + 3;
-
- if ((new_wpath_len + 1) > MAX_PATH) {
- SDL_free(worg);
- SDL_free(wapp);
- WIN_SetError("Path too long.");
- return NULL;
- }
-
- lstrcatW(path, L"\\");
- lstrcatW(path, worg);
- SDL_free(worg);
-
- api_result = CreateDirectoryW(path, NULL);
- if (api_result == FALSE) {
- if (GetLastError() != ERROR_ALREADY_EXISTS) {
- SDL_free(wapp);
- WIN_SetError("Couldn't create a prefpath.");
- return NULL;
- }
- }
-
- lstrcatW(path, L"\\");
- lstrcatW(path, wapp);
- SDL_free(wapp);
-
- api_result = CreateDirectoryW(path, NULL);
- if (api_result == FALSE) {
- if (GetLastError() != ERROR_ALREADY_EXISTS) {
- WIN_SetError("Couldn't create a prefpath.");
- return NULL;
- }
- }
-
- lstrcatW(path, L"\\");
-
- retval = WIN_StringToUTF8(path);
-
- return retval;
-}
-
-#endif /* SDL_FILESYSTEM_WINDOWS */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/3rdparty/SDL2/src/filesystem/winrt/SDL_sysfilesystem.cpp b/3rdparty/SDL2/src/filesystem/winrt/SDL_sysfilesystem.cpp
deleted file mode 100644
index b4caf903770..00000000000
--- a/3rdparty/SDL2/src/filesystem/winrt/SDL_sysfilesystem.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-/* TODO, WinRT: remove the need to compile this with C++/CX (/ZW) extensions, and if possible, without C++ at all
-*/
-
-#ifdef __WINRT__
-
-extern "C" {
-#include "SDL_filesystem.h"
-#include "SDL_error.h"
-#include "SDL_hints.h"
-#include "SDL_stdinc.h"
-#include "SDL_system.h"
-#include "../../core/windows/SDL_windows.h"
-}
-
-#include <string>
-#include <unordered_map>
-
-using namespace std;
-using namespace Windows::Storage;
-
-extern "C" const wchar_t *
-SDL_WinRTGetFSPathUNICODE(SDL_WinRT_Path pathType)
-{
- switch (pathType) {
- case SDL_WINRT_PATH_INSTALLED_LOCATION:
- {
- static wstring path;
- if (path.empty()) {
- path = Windows::ApplicationModel::Package::Current->InstalledLocation->Path->Data();
- }
- return path.c_str();
- }
-
- case SDL_WINRT_PATH_LOCAL_FOLDER:
- {
- static wstring path;
- if (path.empty()) {
- path = ApplicationData::Current->LocalFolder->Path->Data();
- }
- return path.c_str();
- }
-
-#if (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (NTDDI_VERSION > NTDDI_WIN8)
- case SDL_WINRT_PATH_ROAMING_FOLDER:
- {
- static wstring path;
- if (path.empty()) {
- path = ApplicationData::Current->RoamingFolder->Path->Data();
- }
- return path.c_str();
- }
-
- case SDL_WINRT_PATH_TEMP_FOLDER:
- {
- static wstring path;
- if (path.empty()) {
- path = ApplicationData::Current->TemporaryFolder->Path->Data();
- }
- return path.c_str();
- }
-#endif
-
- default:
- break;
- }
-
- SDL_Unsupported();
- return NULL;
-}
-
-extern "C" const char *
-SDL_WinRTGetFSPathUTF8(SDL_WinRT_Path pathType)
-{
- typedef unordered_map<SDL_WinRT_Path, string> UTF8PathMap;
- static UTF8PathMap utf8Paths;
-
- UTF8PathMap::iterator searchResult = utf8Paths.find(pathType);
- if (searchResult != utf8Paths.end()) {
- return searchResult->second.c_str();
- }
-
- const wchar_t * ucs2Path = SDL_WinRTGetFSPathUNICODE(pathType);
- if (!ucs2Path) {
- return NULL;
- }
-
- char * utf8Path = WIN_StringToUTF8(ucs2Path);
- utf8Paths[pathType] = utf8Path;
- SDL_free(utf8Path);
- return utf8Paths[pathType].c_str();
-}
-
-extern "C" char *
-SDL_GetBasePath(void)
-{
- const char * srcPath = SDL_WinRTGetFSPathUTF8(SDL_WINRT_PATH_INSTALLED_LOCATION);
- size_t destPathLen;
- char * destPath = NULL;
-
- if (!srcPath) {
- SDL_SetError("Couldn't locate our basepath: %s", SDL_GetError());
- return NULL;
- }
-
- destPathLen = SDL_strlen(srcPath) + 2;
- destPath = (char *) SDL_malloc(destPathLen);
- if (!destPath) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- SDL_snprintf(destPath, destPathLen, "%s\\", srcPath);
- return destPath;
-}
-
-extern "C" char *
-SDL_GetPrefPath(const char *org, const char *app)
-{
- /* WinRT note: The 'SHGetFolderPath' API that is used in Windows 7 and
- * earlier is not available on WinRT or Windows Phone. WinRT provides
- * a similar API, but SHGetFolderPath can't be called, at least not
- * without violating Microsoft's app-store requirements.
- */
-
- const WCHAR * srcPath = NULL;
- WCHAR path[MAX_PATH];
- char *retval = NULL;
- WCHAR* worg = NULL;
- WCHAR* wapp = NULL;
- size_t new_wpath_len = 0;
- BOOL api_result = FALSE;
-
- srcPath = SDL_WinRTGetFSPathUNICODE(SDL_WINRT_PATH_LOCAL_FOLDER);
- if ( ! srcPath) {
- SDL_SetError("Unable to find a source path");
- return NULL;
- }
-
- if (SDL_wcslen(srcPath) >= MAX_PATH) {
- SDL_SetError("Path too long.");
- return NULL;
- }
- SDL_wcslcpy(path, srcPath, SDL_arraysize(path));
-
- worg = WIN_UTF8ToString(org);
- if (worg == NULL) {
- SDL_OutOfMemory();
- return NULL;
- }
-
- wapp = WIN_UTF8ToString(app);
- if (wapp == NULL) {
- SDL_free(worg);
- SDL_OutOfMemory();
- return NULL;
- }
-
- new_wpath_len = SDL_wcslen(worg) + SDL_wcslen(wapp) + SDL_wcslen(path) + 3;
-
- if ((new_wpath_len + 1) > MAX_PATH) {
- SDL_free(worg);
- SDL_free(wapp);
- SDL_SetError("Path too long.");
- return NULL;
- }
-
- SDL_wcslcat(path, L"\\", new_wpath_len + 1);
- SDL_wcslcat(path, worg, new_wpath_len + 1);
- SDL_free(worg);
-
- api_result = CreateDirectoryW(path, NULL);
- if (api_result == FALSE) {
- if (GetLastError() != ERROR_ALREADY_EXISTS) {
- SDL_free(wapp);
- WIN_SetError("Couldn't create a prefpath.");
- return NULL;
- }
- }
-
- SDL_wcslcat(path, L"\\", new_wpath_len + 1);
- SDL_wcslcat(path, wapp, new_wpath_len + 1);
- SDL_free(wapp);
-
- api_result = CreateDirectoryW(path, NULL);
- if (api_result == FALSE) {
- if (GetLastError() != ERROR_ALREADY_EXISTS) {
- WIN_SetError("Couldn't create a prefpath.");
- return NULL;
- }
- }
-
- SDL_wcslcat(path, L"\\", new_wpath_len + 1);
-
- retval = WIN_StringToUTF8(path);
-
- return retval;
-}
-
-#endif /* __WINRT__ */