summaryrefslogtreecommitdiff
path: root/src/OptionParser.cc
Commit message (Collapse)AuthorAgeFilesLines
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-81/+86
|
* Use std::make_shared and make_unique where possible, part 2Tatsuhiro Tsujikawa2014-09-131-1/+1
|
* Include prefs.h instead of typedef PrefPtr everywhereTatsuhiro Tsujikawa2013-09-261-1/+0
|
* More auto-converts by cpp11-migrateNils Maier2013-09-201-5/+4
|
* Introduce PrefPtr typedefNils Maier2013-09-191-4/+4
|
* Convert to autos and ranged loopsNils Maier2013-08-211-22/+17
|
* Convert most 0/NULL pointers to nullptrNils Maier2013-08-201-6/+6
| | | | Courtesy of llvm cpp11-migrate 3.3
* Use std::unique_ptr instead of array_ptrTatsuhiro Tsujikawa2013-07-031-3/+3
|
* Rewrite util::divideTatsuhiro Tsujikawa2013-06-251-2/+1
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandleTatsuhiro Tsujikawa2013-06-221-2/+3
|
* Fix empty unknown option name in OptionParser::parseTatsuhiro Tsujikawa2013-05-021-2/+1
|
* Add initialization function and addUri API function for libaria2Tatsuhiro Tsujikawa2013-04-261-0/+15
|
* Log warn if unknown option is found in config file or -i fileTatsuhiro Tsujikawa2013-01-071-0/+4
|
* Release statically allocated resources for prefs and optionsTatsuhiro Tsujikawa2012-12-081-0/+5
| | | | | | | Not realeasing these resources does not hurt the correctness of the program, but memory leak detection tool, such as valgrind, reports it as potential memory leak. It is better to distinguish it from the real ones.
* Handle OptionHandlers as raw pointerTatsuhiro Tsujikawa2012-09-271-25/+26
|
* Rewritten help tags and various internal flag handling in OptionHandlerTatsuhiro Tsujikawa2012-09-231-1/+1
| | | | | Now help tags are defined as enum values to avoid vector of strings. The internal flags are represented by bitmask to shrink size.
* New help messages. Added suggestion for unknown/ambiguous options.Tatsuhiro Tsujikawa2011-12-031-7/+48
| | | | | | | The help messages shown when argument error were redesigned and less verbose now. When unknown or ambiguous option is given, show suggestions like "Did you mean...". Some constant values related to levenstein distance are borrowed from git help.c.
* Made Pref::k_, OptionHandler::getName() and getDescription() const char*.Tatsuhiro Tsujikawa2011-11-111-6/+10
|
* Rewritten bencode2::decode functionsTatsuhiro Tsujikawa2011-11-051-1/+1
|
* Removed util::startsWith(a, b)Tatsuhiro Tsujikawa2011-11-041-1/+1
|
* util::divide now takes iterators as arguments.Tatsuhiro Tsujikawa2011-11-031-5/+6
|
* Rewritten OptionParser. Made it simpler and efficient.Tatsuhiro Tsujikawa2011-10-221-176/+63
|
* Rewritten Option. Introduced Pref.Tatsuhiro Tsujikawa2011-10-211-4/+10
| | | | | Now preference key is Pref instead of just string. It has Option ID. Now option lookup and setting takes O(1) using Pref object.
* Erase user and password specified in command-line from argv.Tatsuhiro Tsujikawa2011-04-221-1/+6
| | | | The user and password is masked with '*'.
* Added more error code values.Tatsuhiro Tsujikawa2010-12-011-1/+3
| | | | | I have not set error code for all exception invocation. In this change, I set error code where error likely occurs.
* 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-141-0/+3
| | | | | | | | | Added .cc file for classes/structs that only provided by header file. Defined non-POD classes' ctor, dtor in .cc file. Moved implementation code in header file to .cc file for major classes/strucsts.
* 2010-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-121-2/+2
| | | | | | | | Removed SharedHandle::isNull(). Instead we added operator* and operator unspecified_bool_type. Removed use of WeakHandle and replaced with raw pointer.
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use unnamed namespace instead of static keyword. * src/AbstractCommand.cc * src/AdaptiveURISelector.cc * src/Base64.cc * src/BitfieldMan.cc * src/BtDependency.cc * src/ConsoleStatCalc.cc * src/ContentTypeRequestGroupCriteria.cc * src/CookieStorage.cc * src/DHTMessageFactoryImpl.cc * src/DHTRoutingTableDeserializer.cc * src/DefaultBtAnnounce.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/EpollEventPoll.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FileEntry.cc * src/HttpRequest.cc * src/HttpRequestCommand.cc * src/HttpResponseCommand.cc * src/KqueueEventPoll.cc * src/LongestSequencePieceSelector.cc * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV4Impl.cc * src/MultiDiskAdaptor.cc * src/MultiUrlRequestInfo.cc * src/OptionParser.cc * src/PeerSessionResource.cc * src/PortEventPoll.cc * src/Request.cc * src/RequestGroupMan.cc * src/SelectEventPoll.cc * src/SessionSerializer.cc * src/SimpleLogFormatter.cc * src/Sqlite3CookieParser.cc * src/TrackerWatcherCommand.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcMethod.cc * src/XmlRpcMethodImpl.cc * src/XmlRpcResponse.cc * src/base32.cc * src/bencode2.cc * src/bittorrent_helper.cc * src/download_helper.cc * src/main.cc * src/messageDigest.cc * src/option_processing.cc * src/util.cc * test/AnnounceListTest.cc * test/BtRegistryTest.cc * test/DHTBucketTest.cc * test/DHTRoutingTableTest.cc * test/DefaultBtAnnounceTest.cc * test/FileEntryTest.cc * test/FtpConnectionTest.cc * test/MSEHandshakeTest.cc * test/MagnetTest.cc * test/XmlRpcMethodTest.cc * test/array_funTest.cc
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added '// namespace' after end of unnamed namespace. * src/AbstractCommand.cc * src/AnnounceList.cc * src/BtSeederStateChoke.cc * src/ConsoleStatCalc.cc * src/CookieStorage.cc * src/DHTBucket.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DHTTaskQueueImpl.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FeedbackURISelector.cc * src/FileEntry.cc * src/GZipEncoder.cc * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV4Impl.cc * src/Metalinker.cc * src/MultiDiskAdaptor.cc * src/Netrc.cc * src/NsCookieParser.cc * src/OptionParser.cc * src/PieceStatMan.cc * src/RarestPieceSelector.cc * src/RequestGroupMan.cc * src/SegmentMan.cc * src/ServerStatMan.cc * src/SocketCore.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcMethodImpl.cc * src/cookie_helper.cc * src/download_helper.cc * src/messageDigest.cc * src/util.cc
* 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-101-1/+2
| | | | | | | | | | | | | | | | | | | Replaced util::split(a,b,c) and util::split(a,b) with util::divide() * src/ExpatMetalinkProcessor.cc * src/FtpConnection.cc * src/HttpHeader.cc * src/HttpResponse.cc * src/HttpServer.cc * src/OptionParser.cc * src/ParameterizedStringParser.cc * src/ServerStatMan.cc * src/magnet.cc * src/util.cc * src/util.h * test/UtilTest.cc
* 2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-08-311-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enclosed classes and structs declared in *.cc files unnamed namespace. Added static keyword for function template in *.cc files(TODO we should use unnamed namespace instead of static). * src/AbstractCommand.cc * src/AnnounceList.cc * src/BtLeecherStateChoke.cc * src/BtLeecherStateChoke.h * src/BtSeederStateChoke.cc * src/BtSeederStateChoke.h * src/ConsoleStatCalc.cc * src/ContentTypeRequestGroupCriteria.cc * src/CookieStorage.cc * src/DHTBucket.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FeedbackURISelector.cc * src/FileEntry.cc * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/Metalinker.cc * src/MultiDiskAdaptor.cc * src/Netrc.cc * src/OptionParser.cc * src/PieceStatMan.cc * src/RarestPieceSelector.cc * src/RequestGroupMan.cc * src/SegmentMan.cc * src/ServerStatMan.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcResponse.cc * src/a2algo.h * src/download_helper.cc
* 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-211-40/+40
| | | | | | | Changed naming standards for class member variable: now it looks like var_ instead of _var.
* 2010-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-05-081-1/+1
| | | | | | | | | | | | | | Return const reference. * src/DefaultPieceStorage.h * src/DownloadContext.h * src/FeatureConfig.cc * src/FeatureConfig.h * src/OptionParser.cc * src/OptionParser.h * src/SimpleRandomizer.cc * src/SimpleRandomizer.h
* 2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-3/+5
| | | | | | | | Avoid to calculate end() iterator in each loop. std::deque is particularly slow. Make sure that recalculate end iterator if element is erased during loop.
* 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-1/+2
| | | | | | | Use vector instead of deque for containers which is used for mostly read-only purpose.
* 2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-231-3/+4
| | | | | | | | Fixed broken OptionParser::findByName(). * src/OptionParser.cc * test/OptionParserTest.cc
* 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-101-5/+1
| | | | | | | | | | | | Removed Logger from OptionParser. When OptionParser is used to parse options at bootstrap, LogFactory is not configured yet properly. When LogFactory is used in OptionParser, it initializes itself to return a logger which has no ability to write log to the disk. * src/OptionParser.cc * src/OptionParser.h
* 2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-091-4/+13
| | | | | | | | | | | Fixed the bug that causes segmentation fault if unknown option is put in aria2.conf file. BUG#2928303 * src/OptionParser.cc * src/OptionParser.h * src/option_processing.cc * test/OptionParserTest.cc
* 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-051-37/+37
| | | | | | | | | Untabify. Fixed one line in copyright which is longer than 80 columns. * src * test
* 2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-12-201-54/+70
| | | | | | | | | | | | | Sort _optionHandlers in OptionParser by name in ascending order. Use vector instead of deque for efficiency. * src/OptionHandler.h * src/OptionHandlerFactory.h * src/OptionParser.cc * src/OptionParser.h * src/version_usage.cc * test/OptionParserTest.cc
* 2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-221-1/+1
| | | | | | | | | | Renamed Util.{cc,h} as util.{cc,h} * src/Util.cc * src/Util.h * src/util.cc * src/util.h
* 2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-221-2/+2
| | | | | | | | Moved static functions in Util class to namespace util. * src * test
* 2009-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-07-141-0/+4
| | | | | | | | Handle the situation where struct option.name is char *. * configure.ac * src/OptionParser.cc
* 2009-05-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added source filename(__FILE__) and line number(__LINE__) to exception message. * src/AbstractCommand.cc * src/AbstractDiskWriter.cc * src/AbstractProxyResponseCommand.cc * src/BDE.h * src/BtAllowedFastMessage.cc * src/BtHandshakeMessageValidator.h * src/BtHaveAllMessage.cc * src/BtHaveNoneMessage.cc * src/BtPieceMessage.cc * src/BtRejectMessage.cc * src/ChunkedDecoder.cc * src/CookieStorage.cc * src/DHTAnnouncePeerMessage.cc * src/DHTEntryPointNameResolveCommand.cc * src/DHTMessageFactoryImpl.cc * src/DHTMessageTracker.cc * src/DHTRoutingTableDeserializer.cc * src/DHTRoutingTableSerializer.cc * src/DHTSetup.cc * src/DHTTokenTracker.cc * src/DefaultBtAnnounce.cc * src/DefaultBtContext.cc * src/DefaultBtInteractive.cc * src/DefaultBtMessageFactory.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultExtensionMessageFactory.cc * src/DlAbortEx.h * src/DlRetryEx.h * src/DownloadCommand.cc * src/DownloadEngineFactory.cc * src/DownloadFailureException.h * src/Exception.cc * src/Exception.h * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FallocFileAllocationIterator.cc * src/FatalException.h * src/FtpConnection.cc * src/FtpFinishDownloadCommand.cc * src/FtpInitiateConnectionCommand.cc * src/FtpNegotiationCommand.cc * src/GZipDecoder.cc * src/HandshakeExtensionMessage.cc * src/HttpConnection.cc * src/HttpHeaderProcessor.cc * src/HttpInitiateConnectionCommand.cc * src/HttpResponse.cc * src/HttpResponseCommand.cc * src/HttpServer.cc * src/HttpSkipResponseCommand.cc * src/InitiateConnectionCommandFactory.cc * src/IteratableChunkChecksumValidator.cc * src/LibgcryptARC4Context.h * src/LibgcryptARC4Decryptor.h * src/LibgcryptARC4Encryptor.h * src/LibgcryptDHKeyExchange.h * src/LibgnutlsTLSContext.cc * src/LibsslARC4Context.h * src/LibsslARC4Decryptor.h * src/LibsslARC4Encryptor.h * src/LibsslDHKeyExchange.h * src/LibsslTLSContext.cc * src/MSEHandshake.cc * src/MessageDigestHelper.cc * src/MetalinkHelper.cc * src/MultiDiskAdaptor.cc * src/NameMatchOptionHandler.h * src/NameResolver.cc * src/Netrc.cc * src/NsCookieParser.cc * src/OptionHandlerException.cc * src/OptionHandlerException.h * src/OptionHandlerImpl.h * src/OptionParser.cc * src/ParameterizedStringParser.cc * src/PeerAbstractCommand.cc * src/PeerConnection.cc * src/PeerMessageUtil.cc * src/PeerReceiveHandshakeCommand.cc * src/Platform.cc * src/ReceiverMSEHandshakeCommand.cc * src/RecoverableException.h * src/RequestGroup.cc * src/SimpleLogger.cc * src/SocketCore.cc * src/Sqlite3MozCookieParser.cc * src/UTPexExtensionMessage.cc * src/Util.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcMethodImpl.cc * src/bencode.cc * src/download_helper.cc * src/messageDigest.h * test/ExceptionTest.cc * test/TestUtil.cc
* 2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-05-121-1/+1
| | | | | | | | | | | | | | | | | Throw DlAbortEx instead of FatalException during parsing options because we don't want for aria2 to quit when bad option is passed via XML-RPC. * src/OptionHandlerException.cc * src/OptionHandlerException.h * src/OptionHandlerImpl.h * src/OptionParser.cc * src/OptionParser.h * src/PStringSegment.cc * src/ParameterizedStringParser.cc * src/download_helper.cc * test/ParameterizedStringParserTest.cc
* 2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-05-081-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added xml-rpc functionality. Currently only addURI commad is supported. To enable xml-rpc, run aria2 with --enable-http-server. This option name is temporal and will be changed. The feature that reports download progress in html format is temporarily disabled. * src/HttpServer.cc * src/HttpServer.h * src/HttpServerBodyCommand.cc * src/HttpServerBodyCommand.h * src/HttpServerCommand.cc * src/HttpServerResponseCommand.cc * src/Makefile.am * src/OptionParser.cc * src/OptionParser.h * src/RequestGroupMan.cc * src/RequestGroupMan.h * src/XmlRpcMethod.cc * src/XmlRpcMethod.h * src/XmlRpcMethodFactory.cc * src/XmlRpcMethodFactory.h * src/XmlRpcMethodImpl.cc * src/XmlRpcMethodImpl.h * src/download_helper.cc * src/download_helper.h * test/Makefile.am * test/XmlRpcMethodTest.cc
* 2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-02-121-1/+1
| | | | | | | Fixed compile error * src/OptionParser.cc
* 2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-02-121-1/+1
| | | | | | | Use operator T* of array_ptr. * src/OptionParser.cc
* 2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-02-071-1/+1
| | | | | | | Changed the message for FatalException. * src/OptionParser.cc
* 2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-02-071-19/+178
| | | | | | | | | | | | | | | | | | | | Added OptionParser::parseArg() which internally uses getopt_long to parse command-line options. All command-line options are now configured by OptionHandler. No manual editing of struct option* is required any more. * src/NameMatchOptionHandler.h * src/OptionHandler.h * src/OptionHandlerFactory.cc * src/OptionHandlerImpl.h * src/OptionParser.cc * src/OptionParser.h * src/array_fun.h * src/main.cc * src/option_processing.cc * test/OptionHandlerTest.cc * test/OptionParserTest.cc