2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Fixed broken OptionParser::findByName().
	* src/OptionParser.cc
	* test/OptionParserTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-01-23 12:10:43 +00:00
parent 03424dd1ce
commit 89982bb10f
3 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed broken OptionParser::findByName().
* src/OptionParser.cc
* test/OptionParserTest.cc
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed test error without BitTorrent support. Fixed test error without BitTorrent support.

View File

@ -315,10 +315,11 @@ OptionParser::findByName(const std::string& name) const
std::vector<SharedHandle<OptionHandler> >::const_iterator i = std::vector<SharedHandle<OptionHandler> >::const_iterator i =
std::lower_bound(_optionHandlers.begin(), _optionHandlers.end(), std::lower_bound(_optionHandlers.begin(), _optionHandlers.end(),
handler, OptionHandlerNameLesser()); handler, OptionHandlerNameLesser());
if(i == _optionHandlers.end() || (*i)->isHidden()) { if(i != _optionHandlers.end() && (*i)->getName() == name &&
handler.reset(); !(*i)->isHidden()) {
} else {
handler = *i; handler = *i;
} else {
handler.reset();
} }
return handler; return handler;
} }

View File

@ -109,6 +109,9 @@ void OptionParserTest::testFindByName()
SharedHandle<OptionHandler> charlie = _oparser->findByName("charlie"); SharedHandle<OptionHandler> charlie = _oparser->findByName("charlie");
CPPUNIT_ASSERT(charlie.isNull()); CPPUNIT_ASSERT(charlie.isNull());
SharedHandle<OptionHandler> alpha2 = _oparser->findByName("alpha2");
CPPUNIT_ASSERT(alpha2.isNull());
} }
void OptionParserTest::testFindByShortName() void OptionParserTest::testFindByShortName()