shithub: m8c

Download patch

ref: e82164336aaebb508aa82c136e353daa6b5c908b
parent: fa044685c437e97e846b59681abd1933b35a456e
author: Keith Peters <kp@bit-101.com>
date: Tue Jan 28 05:35:55 EST 2025

Allow user to specify alternate config file with --config flag.

--- a/src/config.c
+++ b/src/config.c
@@ -18,10 +18,14 @@
   }
 }
 
-config_params_s init_config() {
+config_params_s init_config(char *filename) {
   config_params_s c;
 
-  c.filename = "config.ini"; // default config file to load
+  if (filename == NULL) {
+    c.filename = "config.ini"; // default config file to load
+  } else {
+    c.filename = filename;
+  }
 
   c.init_fullscreen = 0; // default fullscreen state at load
   c.init_use_gpu = 1;    // default to use hardware acceleration
--- a/src/main.c
+++ b/src/main.c
@@ -40,9 +40,15 @@
     SDL_Log("Using preferred device %s.\n", preferred_device);
   }
 
+  char *config_filename = NULL;
+  if (argc == 3 && SDL_strcmp(argv[1], "--config") == 0) {
+    config_filename = argv[2];
+    SDL_Log("Using config file %s.\n", config_filename);
+  }
+
   // Initialize the config to defaults read in the params from the
   // configfile if present
-  config_params_s conf = init_config();
+  config_params_s conf = init_config(config_filename);
 
   // TODO: take cli parameter to override default configfile location
   read_config(&conf);
--