]> git.mxchange.org Git - quix0rs-blobwars.git/blobdiff - src/CConfig.cpp
Don't link pak tool with SDL.
[quix0rs-blobwars.git] / src / CConfig.cpp
index cbeb334fb99c7216ff6d016cb929ec9550077bd4..5121c7f13d08a500c2050509f670e54337b725a8 100644 (file)
@@ -43,7 +43,7 @@ void Config::populate(int *data)
        command[CONTROL::PAUSE] = 0;
 }
 
-bool Config::isControl(CONTROL::TYPE type)
+bool Config::isControl(CONTROL::TYPE type) const
 {
        return command[type];
 }
@@ -89,7 +89,7 @@ void Config::doPause()
 bool Config::loadJoystickConfig()
 {
        char filename[PATH_MAX];
-       sprintf(filename, "%sjoystick.cfg", engine->userHomeDirectory);
+       snprintf(filename, sizeof filename, "%sjoystick.cfg", engine->userHomeDirectory);
        
        debug(("Loading joystick config from %s\n", filename));
        
@@ -113,8 +113,9 @@ bool Config::loadJoystickConfig()
 
 bool Config::saveJoystickConfig()
 {
+       bool ret = true;
        char filename[PATH_MAX];
-       sprintf(filename, "%sjoystick.cfg", engine->userHomeDirectory);
+       snprintf(filename, sizeof filename, "%sjoystick.cfg", engine->userHomeDirectory);
        
        debug(("Saving joystick config to %s\n", filename));
        
@@ -122,21 +123,25 @@ bool Config::saveJoystickConfig()
        
        if (!fp)
        {
-               debug(("WARNING: Couldn't save joystick config\n"));
+               debug(("WARNING: Couldn't save joystick config: %s\n", strerror(errno)));
                return false;
        }
-               
-       fwrite(&joystick, sizeof(Joystick), 1, fp);
-               
+
+       if (fwrite(&joystick, sizeof(Joystick), 1, fp) != 1)
+       {
+               debug(("WARNING: Couldn't save joystick config: %s\n", strerror(errno)));
+               ret = false;
+       }
+
        fclose(fp);
        
-       return true;
+       return ret;
 }
 
 bool Config::loadKeyConfig()
 {
        char filename[PATH_MAX];
-       sprintf(filename, "%skeyboard.cfg", engine->userHomeDirectory);
+       snprintf(filename, sizeof filename, "%skeyboard.cfg", engine->userHomeDirectory);
        
        debug(("Loading keyboard config from %s\n", filename));
        
@@ -152,15 +157,6 @@ bool Config::loadKeyConfig()
                fclose(fp);
                return false;
        }
-
-       for (int i = 0; i < CONTROL::MAX; i++)
-       {
-               if (keyboard.control[i] < 0 || keyboard.control[i] >= 350)
-               {
-                       fclose(fp);
-                       return false;
-               }
-       }
                
        fclose(fp);
        
@@ -172,8 +168,9 @@ bool Config::loadKeyConfig()
 
 bool Config::saveKeyConfig()
 {
+       bool ret = true;
        char filename[PATH_MAX];
-       sprintf(filename, "%skeyboard.cfg", engine->userHomeDirectory);
+       snprintf(filename, sizeof filename, "%skeyboard.cfg", engine->userHomeDirectory);
        
        debug(("Saving keyboard config to %s\n", filename));
        
@@ -181,14 +178,19 @@ bool Config::saveKeyConfig()
        
        if (!fp)
        {
+               debug(("WARNING: Couldn't save keyboard config: %s\n", strerror(errno)));
                return false;
        }
-               
-       fwrite(&keyboard, sizeof(keyboard), 1, fp);
-               
+
+       if (fwrite(&keyboard, sizeof(keyboard), 1, fp) != 1)
+       {
+               debug(("WARNING: Couldn't save keyboard config: %s\n", strerror(errno)));
+               ret = false;
+       }
+
        fclose(fp);
        
-       return true;
+       return ret;
 }
 
 void Config::restoreKeyDefaults()