From a187da0b35fdea10d5028edf35179d45c49278cb Mon Sep 17 00:00:00 2001 From: schodet Date: Sat, 20 May 2006 18:55:44 +0000 Subject: Ajout de l'option -C pour changer une option sur la ligne de commande. --- i/marvin/src/config/config_data.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'i/marvin/src') diff --git a/i/marvin/src/config/config_data.cc b/i/marvin/src/config/config_data.cc index e531031..e4dcf75 100644 --- a/i/marvin/src/config/config_data.cc +++ b/i/marvin/src/config/config_data.cc @@ -95,6 +95,7 @@ void ConfigData::init (int &argc, char **&argv, const std::string &file) { std::string configFile (file); + std::string configString; // Parse la ligne de commande. for (int i = 1; i < argc; ) { @@ -113,6 +114,21 @@ ConfigData::init (int &argc, char **&argv, const std::string &file) configFile = argv[i + 1]; } } + // -C CONFIG_STRING + if (argv[i][0] == '-' && argv[i][1] == 'C') + { + configString += ';'; + if (argv[i][2] != '\0') + { + del = 1; + configString += &argv[i][2]; + } + else if (i + 1 < argc) + { + del = 2; + configString += argv[i + 1]; + } + } // Supprime ces arguments de la liste. if (del) { @@ -126,5 +142,7 @@ ConfigData::init (int &argc, char **&argv, const std::string &file) // Lit le fichier de config. ConfigParser p (*this); p.parseFile (configFile); + // Parse les chaînes supplémentaires. + p.parseString (configString); } -- cgit v1.2.3