diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-10-21 21:56:42 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-10-21 21:56:42 +0900 |
| commit | 3832ed97c616eff0057d7a0e5a161c4282537160 (patch) | |
| tree | ac69085552ddce55eed873ab1b4e359805fc5961 /src/option_processing.cc | |
| parent | 20e781c2df1fa961a09edafe1ff02202278e3636 (diff) | |
Rewritten Option. Introduced Pref.
Now preference key is Pref instead of just string. It has Option
ID. Now option lookup and setting takes O(1) using Pref object.
Diffstat (limited to 'src/option_processing.cc')
| -rw-r--r-- | src/option_processing.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/option_processing.cc b/src/option_processing.cc index d8374bcd..d1063e26 100644 --- a/src/option_processing.cc +++ b/src/option_processing.cc @@ -68,13 +68,13 @@ extern void showUsage(const std::string& keyword, const OptionParser& oparser); namespace { void overrideWithEnv(Option& op, const OptionParser& optionParser, - const std::string& pref, + const Pref* pref, const std::string& envName) { char* value = getenv(envName.c_str()); if(value) { try { - optionParser.findByName(pref)->parse(op, value); + optionParser.findByName(pref->k)->parse(op, value); } catch(Exception& e) { global::cerr()->printf ("Caught Error while parsing environment variable '%s'\n%s\n", @@ -102,16 +102,16 @@ void option_processing(Option& op, std::vector<std::string>& uris, noConf = op.getAsBool(PREF_NO_CONF); ucfname = op.get(PREF_CONF_PATH); - if(op.defined("version")) { + if(op.defined(PREF_VERSION)) { showVersion(); exit(error_code::FINISHED); } - if(op.defined("help")) { + if(op.defined(PREF_HELP)) { std::string keyword; - if(op.get("help").empty()) { + if(op.get(PREF_HELP).empty()) { keyword = TAG_BASIC; } else { - keyword = op.get("help"); + keyword = op.get(PREF_HELP); if(util::startsWith(keyword, "--")) { keyword = keyword.substr(2); } @@ -130,7 +130,7 @@ void option_processing(Option& op, std::vector<std::string>& uris, if(!noConf) { std::string cfname = ucfname.empty() ? - oparser.findByName(PREF_CONF_PATH)->getDefaultValue(): + oparser.findByName(PREF_CONF_PATH->k)->getDefaultValue(): ucfname; if(File(cfname).isFile()) { |
