Skip to content

Commit

Permalink
filesystem: QNX should use SDL_LoadFile() instead of rolling it from …
Browse files Browse the repository at this point in the history
…scratch.
  • Loading branch information
icculus committed Aug 17, 2017
1 parent c13c45c commit e50d3cd
Showing 1 changed file with 2 additions and 31 deletions.
33 changes: 2 additions & 31 deletions src/filesystem/unix/SDL_sysfilesystem.c
Expand Up @@ -43,36 +43,7 @@
#include "SDL_filesystem.h"

/* QNX's /proc/self/exefile is a text file and not a symlink. */
#if defined(__QNXNTO__)
static char *
readWholeFile(const char *path)
{
char *retval = (char *) SDL_malloc(PATH_MAX+1);
if (retval != NULL)
{
const int fd = open(path, O_RDONLY);
const ssize_t br = (fd == -1) ? -1 : read(fd, retval, PATH_MAX);
char *ptr;

if (fd != -1)
close(fd);

if ((br < 0) || (br > PATH_MAX))
{
free(retval);
return NULL;
} /* if */

retval[br] = '\0';

ptr = (char *) SDL_realloc(retval, br + 1);
if (ptr != NULL) /* just shrinking buffer; don't care if it failed. */
retval = ptr;
} /* else */

return retval;
}
#else
#if !defined(__QNXNTO__)
static char *
readSymLink(const char *path)
{
Expand Down Expand Up @@ -159,7 +130,7 @@ SDL_GetBasePath(void)
#elif defined(__NETBSD__)
retval = readSymLink("/proc/curproc/exe");
#elif defined(__QNXNTO__)
retval = readWholeFile("/proc/self/exefile");
retval = SDL_LoadFile("/proc/self/exefile", NULL);
#else
retval = readSymLink("/proc/self/exe"); /* linux. */
if (retval == NULL) {
Expand Down

0 comments on commit e50d3cd

Please sign in to comment.