|
@@ -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' },
|