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>
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::lower_bound(_optionHandlers.begin(), _optionHandlers.end(),
handler, OptionHandlerNameLesser());
if(i == _optionHandlers.end() || (*i)->isHidden()) {
handler.reset();
} else {
if(i != _optionHandlers.end() && (*i)->getName() == name &&
!(*i)->isHidden()) {
handler = *i;
} else {
handler.reset();
}
return handler;
}

View File

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