fopen_internal: do not resolve cdromL by default

This avoids calling malloc(3) and thus allowing the linker to remove
the heap implementation from memory.c via --gc-sections.
This commit is contained in:
Xavier Del Campo Romero 2021-10-24 02:30:55 +02:00
parent 282a7ff1f3
commit 58256c917e
1 changed files with 5 additions and 0 deletions

View File

@ -11,6 +11,7 @@
#include <psx.h>
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <strings.h>
@ -164,12 +165,16 @@ static FILE *fopen_internal(const char *path, const char *mode, FILE *f)
if(strncmp(path, "cdromL:", 7) == 0)
{
#ifdef PSXSDK_CDROML_ENABLED
s = malloc(1024);
if(libc_get_transtbl_fname(path+7, s, 1024) == 0)
return NULL;
fd = open(s, fmode_to_desmode(mode));
#else
return NULL;
#endif
}
else
fd = open(path, fmode_to_desmode(mode));