]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/eeprom.cpp
Extensive changes to remove gcc 4.x warnings, general code cleanup
[virtualjaguar] / src / eeprom.cpp
index 1e422e4fe2ce9595eb0b014d4b6214b96bb28a51..6b2ef65d68f837ded862b17d59a5328d6dd23abe 100644 (file)
@@ -6,9 +6,13 @@
 // Cleanups/enhancements by James L. Hammons
 //
 
-#include <stdlib.h>
 #include "eeprom.h"
+
+#include <string.h>                                                            // For memset
+#include <stdlib.h>
 #include "settings.h"
+#include "log.h"
+#include "jaguar.h"
 
 #define eeprom_LOG
 
@@ -39,14 +43,13 @@ uint16 jerry_ee_data = 0;
 uint16 jerry_ee_data_cnt = 16;
 uint16 jerry_writes_enabled = 0;
 uint16 jerry_ee_direct_jump = 0;
-FILE * jerry_ee_fp;
 static char eeprom_filename[MAX_PATH];
 static bool foundEEPROM = false;
 
 void eeprom_init(void)
 {
        sprintf(eeprom_filename, "%s%08X.eep", vjs.EEPROMPath, (unsigned int)jaguar_mainRom_crc32);
-       jerry_ee_fp = fopen(eeprom_filename, "rb");
+       FILE * jerry_ee_fp = fopen(eeprom_filename, "rb");
        if (jerry_ee_fp)
        {
                fread(eeprom_ram, 1, 128, jerry_ee_fp);
@@ -55,12 +58,7 @@ void eeprom_init(void)
                foundEEPROM = true;
        }
        else
-       {
-               WriteLog("EEPROM: Creating %s\n", eeprom_filename);
-               jerry_ee_fp = fopen(eeprom_filename, "wb");
-               if (jerry_ee_fp == NULL)
-                       WriteLog("EEPROM: Could not open/create %s!\n", eeprom_filename);
-       }
+               WriteLog("EEPROM: Could not open file \"%s\"!\n", eeprom_filename);
 }
 
 void eeprom_reset(void)
@@ -71,13 +69,18 @@ void eeprom_reset(void)
 
 void eeprom_done(void)
 {
-//Actually, is this necessary now that we write the file immediately upon write to EEPROM?
-//     EEPROMSave();
 }
 
 void EEPROMSave(void)
 {
-       jerry_ee_fp = fopen(eeprom_filename, "wb");
+       FILE * jerry_ee_fp = fopen(eeprom_filename, "wb");
+
+       if (jerry_ee_fp == NULL)
+       {
+               WriteLog("EEPROM: Could not create file \"%s!\"\n", eeprom_filename);
+               return;
+       }
+
        fwrite(eeprom_ram, 1, 128, jerry_ee_fp);
        fclose(jerry_ee_fp);
 }