summaryrefslogtreecommitdiff
path: root/src/RpcMethod.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-10-22 01:03:14 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-10-22 01:03:14 +0900
commitd5c8d048efeb524d5d2222b4547f9dd19e943f13 (patch)
tree117dd74fff2594be1ee6d6ba00dc9d8c301bf05e /src/RpcMethod.cc
parent3832ed97c616eff0057d7a0e5a161c4282537160 (diff)
Rewritten OptionParser. Made it simpler and efficient.
Diffstat (limited to 'src/RpcMethod.cc')
-rw-r--r--src/RpcMethod.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/RpcMethod.cc b/src/RpcMethod.cc
index 8a49630c..89ae8587 100644
--- a/src/RpcMethod.cc
+++ b/src/RpcMethod.cc
@@ -93,16 +93,16 @@ void gatherOption
(fmt("%s option cannot be used in this context.",
optionName.c_str()));
} else {
- SharedHandle<OptionHandler> optionHandler =
- optionParser->findByName(optionName);
- if(!optionHandler) {
+ const Pref* pref = option::k2p(optionName);
+ const SharedHandle<OptionHandler>& handler = optionParser->find(pref);
+ if(!handler) {
throw DL_ABORT_EX
(fmt("We don't know how to deal with %s option",
optionName.c_str()));
}
const String* opval = downcast<String>((*first).second);
if(opval) {
- optionHandler->parse(*option.get(), opval->s());
+ handler->parse(*option.get(), opval->s());
} else {
// header and index-out option can take array as value
const List* oplist = downcast<List>((*first).second);
@@ -112,7 +112,7 @@ void gatherOption
eoi = oplist->end(); argiter != eoi; ++argiter) {
const String* opval = downcast<String>(*argiter);
if(opval) {
- optionHandler->parse(*option.get(), opval->s());
+ handler->parse(*option.get(), opval->s());
}
}
}