diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-19 10:25:38 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-19 10:25:38 +0000 |
| commit | 0189bbc6bc727d161b9adcd2fa82f6c573bbf0a7 (patch) | |
| tree | 9ac9851562949b00e241fbed96358791338910c2 /src/option_processing.cc | |
| parent | e59f4f2fe3280b86c76fe5424d171e3e33113beb (diff) | |
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined option name and possible values as std::string to reduce
temporary string object creation in runtime.
* src/HelpItemFactory.cc
* src/LogFactory.cc
* src/Option.cc
* src/OptionHandlerFactory.cc
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
Diffstat (limited to 'src/option_processing.cc')
| -rw-r--r-- | src/option_processing.cc | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/src/option_processing.cc b/src/option_processing.cc index 2f4f483d..547bb7f7 100644 --- a/src/option_processing.cc +++ b/src/option_processing.cc @@ -172,97 +172,97 @@ Option* option_processing(int argc, char* const argv[]) int lopt; static struct option longOpts[] = { #ifdef HAVE_DAEMON - { PREF_DAEMON, no_argument, NULL, 'D' }, + { PREF_DAEMON.c_str(), no_argument, NULL, 'D' }, #endif // HAVE_DAEMON - { PREF_DIR, required_argument, NULL, 'd' }, - { PREF_OUT, required_argument, NULL, 'o' }, - { PREF_LOG, required_argument, NULL, 'l' }, - { PREF_SPLIT, required_argument, NULL, 's' }, - { PREF_TIMEOUT, required_argument, NULL, 't' }, - { PREF_MAX_TRIES, required_argument, NULL, 'm' }, - { PREF_HTTP_PROXY, required_argument, &lopt, 1 }, - { PREF_HTTP_USER, required_argument, &lopt, 2 }, - { PREF_HTTP_PASSWD, required_argument, &lopt, 3 }, - { PREF_HTTP_PROXY_USER, required_argument, &lopt, 4 }, - { PREF_HTTP_PROXY_PASSWD, required_argument, &lopt, 5 }, - { PREF_HTTP_AUTH_SCHEME, required_argument, &lopt, 6 }, - { PREF_REFERER, required_argument, &lopt, 7 }, - { PREF_RETRY_WAIT, required_argument, &lopt, 8 }, - { PREF_FTP_USER, required_argument, &lopt, 9 }, - { PREF_FTP_PASSWD, required_argument, &lopt, 10 }, - { PREF_FTP_TYPE, required_argument, &lopt, 11 }, - { PREF_FTP_PASV, no_argument, NULL, 'p' }, - { PREF_FTP_VIA_HTTP_PROXY, required_argument, &lopt, 12 }, - //{ PREF_MIN_SEGMENT_SIZE, required_argument, &lopt, 13 }, - { PREF_HTTP_PROXY_METHOD, required_argument, &lopt, 14 }, - { PREF_LOWEST_SPEED_LIMIT, required_argument, &lopt, 200 }, - { PREF_MAX_DOWNLOAD_LIMIT, required_argument, &lopt, 201 }, - { PREF_FILE_ALLOCATION, required_argument, 0, 'a' }, - { PREF_ALLOW_OVERWRITE, required_argument, &lopt, 202 }, + { PREF_DIR.c_str(), required_argument, NULL, 'd' }, + { PREF_OUT.c_str(), required_argument, NULL, 'o' }, + { PREF_LOG.c_str(), required_argument, NULL, 'l' }, + { PREF_SPLIT.c_str(), required_argument, NULL, 's' }, + { PREF_TIMEOUT.c_str(), required_argument, NULL, 't' }, + { PREF_MAX_TRIES.c_str(), required_argument, NULL, 'm' }, + { PREF_HTTP_PROXY.c_str(), required_argument, &lopt, 1 }, + { PREF_HTTP_USER.c_str(), required_argument, &lopt, 2 }, + { PREF_HTTP_PASSWD.c_str(), required_argument, &lopt, 3 }, + { PREF_HTTP_PROXY_USER.c_str(), required_argument, &lopt, 4 }, + { PREF_HTTP_PROXY_PASSWD.c_str(), required_argument, &lopt, 5 }, + { PREF_HTTP_AUTH_SCHEME.c_str(), required_argument, &lopt, 6 }, + { PREF_REFERER.c_str(), required_argument, &lopt, 7 }, + { PREF_RETRY_WAIT.c_str(), required_argument, &lopt, 8 }, + { PREF_FTP_USER.c_str(), required_argument, &lopt, 9 }, + { PREF_FTP_PASSWD.c_str(), required_argument, &lopt, 10 }, + { PREF_FTP_TYPE.c_str(), required_argument, &lopt, 11 }, + { PREF_FTP_PASV.c_str(), no_argument, NULL, 'p' }, + { PREF_FTP_VIA_HTTP_PROXY.c_str(), required_argument, &lopt, 12 }, + //{ PREF_MIN_SEGMENT_SIZE.c_str(), required_argument, &lopt, 13 }, + { PREF_HTTP_PROXY_METHOD.c_str(), required_argument, &lopt, 14 }, + { PREF_LOWEST_SPEED_LIMIT.c_str(), required_argument, &lopt, 200 }, + { PREF_MAX_DOWNLOAD_LIMIT.c_str(), required_argument, &lopt, 201 }, + { PREF_FILE_ALLOCATION.c_str(), required_argument, 0, 'a' }, + { PREF_ALLOW_OVERWRITE.c_str(), required_argument, &lopt, 202 }, #ifdef ENABLE_MESSAGE_DIGEST - { PREF_CHECK_INTEGRITY, required_argument, &lopt, 203 }, - { PREF_REALTIME_CHUNK_CHECKSUM, required_argument, &lopt, 204 }, + { PREF_CHECK_INTEGRITY.c_str(), required_argument, &lopt, 203 }, + { PREF_REALTIME_CHUNK_CHECKSUM.c_str(), required_argument, &lopt, 204 }, #endif // ENABLE_MESSAGE_DIGEST - { PREF_CONTINUE, no_argument, 0, 'c' }, - { PREF_USER_AGENT, required_argument, 0, 'U' }, - { PREF_NO_NETRC, no_argument, 0, 'n' }, - { PREF_INPUT_FILE, required_argument, 0, 'i' }, - { PREF_MAX_CONCURRENT_DOWNLOADS, required_argument, 0, 'j' }, - { PREF_LOAD_COOKIES, required_argument, &lopt, 205 }, - { PREF_FORCE_SEQUENTIAL, optional_argument, 0, 'Z' }, - { PREF_AUTO_FILE_RENAMING, optional_argument, &lopt, 206 }, - { PREF_PARAMETERIZED_URI, optional_argument, 0, 'P' }, - { PREF_ENABLE_HTTP_KEEP_ALIVE, optional_argument, &lopt, 207 }, - { PREF_ENABLE_HTTP_PIPELINING, optional_argument, &lopt, 208 }, - { PREF_NO_FILE_ALLOCATION_LIMIT, required_argument, &lopt, 209 }, + { PREF_CONTINUE.c_str(), no_argument, 0, 'c' }, + { PREF_USER_AGENT.c_str(), required_argument, 0, 'U' }, + { PREF_NO_NETRC.c_str(), no_argument, 0, 'n' }, + { PREF_INPUT_FILE.c_str(), required_argument, 0, 'i' }, + { PREF_MAX_CONCURRENT_DOWNLOADS.c_str(), required_argument, 0, 'j' }, + { PREF_LOAD_COOKIES.c_str(), required_argument, &lopt, 205 }, + { PREF_FORCE_SEQUENTIAL.c_str(), optional_argument, 0, 'Z' }, + { PREF_AUTO_FILE_RENAMING.c_str(), optional_argument, &lopt, 206 }, + { PREF_PARAMETERIZED_URI.c_str(), optional_argument, 0, 'P' }, + { PREF_ENABLE_HTTP_KEEP_ALIVE.c_str(), optional_argument, &lopt, 207 }, + { PREF_ENABLE_HTTP_PIPELINING.c_str(), optional_argument, &lopt, 208 }, + { PREF_NO_FILE_ALLOCATION_LIMIT.c_str(), required_argument, &lopt, 209 }, #ifdef ENABLE_DIRECT_IO - { PREF_ENABLE_DIRECT_IO, optional_argument, &lopt, 210 }, + { PREF_ENABLE_DIRECT_IO.c_str(), optional_argument, &lopt, 210 }, #endif // ENABLE_DIRECT_IO - { PREF_ALLOW_PIECE_LENGTH_CHANGE, required_argument, &lopt, 211 }, - { PREF_NO_CONF, no_argument, &lopt, 212 }, - { PREF_CONF_PATH, required_argument, &lopt, 213 }, - { PREF_STOP, required_argument, &lopt, 214 }, - { PREF_HEADER, required_argument, &lopt, 215 }, - { PREF_QUIET, optional_argument, 0, 'q' }, + { PREF_ALLOW_PIECE_LENGTH_CHANGE.c_str(), required_argument, &lopt, 211 }, + { PREF_NO_CONF.c_str(), no_argument, &lopt, 212 }, + { PREF_CONF_PATH.c_str(), required_argument, &lopt, 213 }, + { PREF_STOP.c_str(), required_argument, &lopt, 214 }, + { PREF_HEADER.c_str(), required_argument, &lopt, 215 }, + { PREF_QUIET.c_str(), optional_argument, 0, 'q' }, #ifdef ENABLE_ASYNC_DNS - { PREF_ASYNC_DNS, optional_argument, &lopt, 216 }, + { PREF_ASYNC_DNS.c_str(), optional_argument, &lopt, 216 }, #endif // ENABLE_ASYNC_DNS - { PREF_FTP_REUSE_CONNECTION, optional_argument, &lopt, 217 }, - { PREF_SUMMARY_INTERVAL, required_argument, &lopt, 218 }, - { PREF_LOG_LEVEL, required_argument, &lopt, 219 }, + { PREF_FTP_REUSE_CONNECTION.c_str(), optional_argument, &lopt, 217 }, + { PREF_SUMMARY_INTERVAL.c_str(), required_argument, &lopt, 218 }, + { PREF_LOG_LEVEL.c_str(), required_argument, &lopt, 219 }, #if defined ENABLE_BITTORRENT || ENABLE_METALINK - { PREF_SHOW_FILES, no_argument, NULL, 'S' }, - { PREF_SELECT_FILE, required_argument, &lopt, 21 }, + { PREF_SHOW_FILES.c_str(), no_argument, NULL, 'S' }, + { PREF_SELECT_FILE.c_str(), required_argument, &lopt, 21 }, #endif // ENABLE_BITTORRENT || ENABLE_METALINK #ifdef ENABLE_BITTORRENT - { PREF_TORRENT_FILE, required_argument, NULL, 'T' }, - { PREF_LISTEN_PORT, required_argument, &lopt, 15 }, - { PREF_FOLLOW_TORRENT, required_argument, &lopt, 16 }, - { PREF_NO_PREALLOCATION, no_argument, &lopt, 18 }, - { PREF_DIRECT_FILE_MAPPING, required_argument, &lopt, 19 }, + { PREF_TORRENT_FILE.c_str(), required_argument, NULL, 'T' }, + { PREF_LISTEN_PORT.c_str(), required_argument, &lopt, 15 }, + { PREF_FOLLOW_TORRENT.c_str(), required_argument, &lopt, 16 }, + { PREF_NO_PREALLOCATION.c_str(), no_argument, &lopt, 18 }, + { PREF_DIRECT_FILE_MAPPING.c_str(), required_argument, &lopt, 19 }, // TODO remove upload-limit. - //{ "upload-limit", required_argument, &lopt, 20 }, - { PREF_SEED_TIME, required_argument, &lopt, 22 }, - { PREF_SEED_RATIO, required_argument, &lopt, 23 }, - { PREF_MAX_UPLOAD_LIMIT, required_argument, &lopt, 24 }, - { PREF_PEER_ID_PREFIX, required_argument, &lopt, 25 }, - { PREF_ENABLE_PEER_EXCHANGE, optional_argument, &lopt, 26 }, - { PREF_ENABLE_DHT, optional_argument, &lopt, 27 }, - { PREF_DHT_LISTEN_PORT, required_argument, &lopt, 28 }, - { PREF_DHT_ENTRY_POINT, required_argument, &lopt, 29 }, - { PREF_BT_MIN_CRYPTO_LEVEL, required_argument, &lopt, 30 }, - { PREF_BT_REQUIRE_CRYPTO, required_argument, &lopt, 31 }, + //{ "upload-limit".c_str(), required_argument, &lopt, 20 }, + { PREF_SEED_TIME.c_str(), required_argument, &lopt, 22 }, + { PREF_SEED_RATIO.c_str(), required_argument, &lopt, 23 }, + { PREF_MAX_UPLOAD_LIMIT.c_str(), required_argument, &lopt, 24 }, + { PREF_PEER_ID_PREFIX.c_str(), required_argument, &lopt, 25 }, + { PREF_ENABLE_PEER_EXCHANGE.c_str(), optional_argument, &lopt, 26 }, + { PREF_ENABLE_DHT.c_str(), optional_argument, &lopt, 27 }, + { PREF_DHT_LISTEN_PORT.c_str(), required_argument, &lopt, 28 }, + { PREF_DHT_ENTRY_POINT.c_str(), required_argument, &lopt, 29 }, + { PREF_BT_MIN_CRYPTO_LEVEL.c_str(), required_argument, &lopt, 30 }, + { PREF_BT_REQUIRE_CRYPTO.c_str(), required_argument, &lopt, 31 }, #endif // ENABLE_BITTORRENT #ifdef ENABLE_METALINK - { PREF_METALINK_FILE, required_argument, NULL, 'M' }, - { PREF_METALINK_SERVERS, required_argument, NULL, 'C' }, - { PREF_METALINK_VERSION, required_argument, &lopt, 100 }, - { PREF_METALINK_LANGUAGE, required_argument, &lopt, 101 }, - { PREF_METALINK_OS, required_argument, &lopt, 102 }, - { PREF_FOLLOW_METALINK, required_argument, &lopt, 103 }, - { PREF_METALINK_LOCATION, required_argument, &lopt, 104 }, - { PREF_METALINK_PREFERRED_PROTOCOL, required_argument, &lopt, 105 }, - { PREF_METALINK_ENABLE_UNIQUE_PROTOCOL, optional_argument, &lopt, 106 }, + { PREF_METALINK_FILE.c_str(), required_argument, NULL, 'M' }, + { PREF_METALINK_SERVERS.c_str(), required_argument, NULL, 'C' }, + { PREF_METALINK_VERSION.c_str(), required_argument, &lopt, 100 }, + { PREF_METALINK_LANGUAGE.c_str(), required_argument, &lopt, 101 }, + { PREF_METALINK_OS.c_str(), required_argument, &lopt, 102 }, + { PREF_FOLLOW_METALINK.c_str(), required_argument, &lopt, 103 }, + { PREF_METALINK_LOCATION.c_str(), required_argument, &lopt, 104 }, + { PREF_METALINK_PREFERRED_PROTOCOL.c_str(), required_argument, &lopt, 105 }, + { PREF_METALINK_ENABLE_UNIQUE_PROTOCOL.c_str(), optional_argument, &lopt, 106 }, #endif // ENABLE_METALINK { "version", no_argument, NULL, 'v' }, { "help", optional_argument, NULL, 'h' }, |
