Merge pull request #117 from retro-wertz/update
FDS: do not use fopen/fclose/fread from bios load functions
This commit is contained in:
18
src/fds.c
18
src/fds.c
@@ -608,13 +608,13 @@ static void PostSave(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int FDSLoad(const char *name, FCEUFILE *fp) {
|
int FDSLoad(const char *name, FCEUFILE *fp) {
|
||||||
FILE *zp;
|
FCEUFILE *zp;
|
||||||
int x;
|
int x;
|
||||||
|
|
||||||
char *fn = FCEU_MakeFName(FCEUMKF_FDSROM, 0, 0);
|
char *fn = FCEU_MakeFName(FCEUMKF_FDSROM, 0, 0);
|
||||||
|
|
||||||
if (!(zp = fopen(fn, "rb"))) {
|
if (!(zp = FCEU_fopen(fn, 0, "rb", 0, NULL, 0))) {
|
||||||
FCEU_PrintError("FDS BIOS ROM image missing!");
|
FCEU_PrintError("FDS BIOS ROM image missing!\n");
|
||||||
free(fn);
|
free(fn);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -637,16 +637,16 @@ int FDSLoad(const char *name, FCEUFILE *fp) {
|
|||||||
FDSBIOS = (uint8*)FCEU_gmalloc(FDSBIOSsize);
|
FDSBIOS = (uint8*)FCEU_gmalloc(FDSBIOSsize);
|
||||||
SetupCartPRGMapping(0, FDSBIOS, FDSBIOSsize, 0);
|
SetupCartPRGMapping(0, FDSBIOS, FDSBIOSsize, 0);
|
||||||
|
|
||||||
if (fread(FDSBIOS, 1, FDSBIOSsize, zp) != FDSBIOSsize) {
|
if (FCEU_fread(FDSBIOS, 1, FDSBIOSsize, zp) != FDSBIOSsize) {
|
||||||
if (FDSBIOS)
|
if (FDSBIOS)
|
||||||
free(FDSBIOS);
|
free(FDSBIOS);
|
||||||
FDSBIOS = NULL;
|
FDSBIOS = NULL;
|
||||||
fclose(zp);
|
FCEU_fclose(zp);
|
||||||
FCEU_PrintError("Error reading FDS BIOS ROM image.");
|
FCEU_PrintError("Error reading FDS BIOS ROM image.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(zp);
|
FCEU_fclose(zp);
|
||||||
|
|
||||||
FCEU_fseek(fp, 0, SEEK_SET);
|
FCEU_fseek(fp, 0, SEEK_SET);
|
||||||
|
|
||||||
@@ -672,7 +672,7 @@ int FDSLoad(const char *name, FCEUFILE *fp) {
|
|||||||
FCEU_printf("Disk was written. Auxillary FDS file open \"%s\".\n", fn);
|
FCEU_printf("Disk was written. Auxillary FDS file open \"%s\".\n", fn);
|
||||||
FreeFDSMemory();
|
FreeFDSMemory();
|
||||||
if (!SubLoad(tp)) {
|
if (!SubLoad(tp)) {
|
||||||
FCEU_PrintError("Error reading auxillary FDS file.");
|
FCEU_PrintError("Error reading auxillary FDS file.\n");
|
||||||
if (FDSBIOS)
|
if (FDSBIOS)
|
||||||
free(FDSBIOS);
|
free(FDSBIOS);
|
||||||
FDSBIOS = NULL;
|
FDSBIOS = NULL;
|
||||||
@@ -745,7 +745,7 @@ void FDSClose(void) {
|
|||||||
|
|
||||||
for (x = 0; x < TotalSides; x++) {
|
for (x = 0; x < TotalSides; x++) {
|
||||||
if (fwrite(diskdata[x], 1, 65500, fp) != 65500) {
|
if (fwrite(diskdata[x], 1, 65500, fp) != 65500) {
|
||||||
FCEU_PrintError("Error saving FDS image!");
|
FCEU_PrintError("Error saving FDS image!\n");
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user