lbrycrd/src
MarcoFalke 4490871ed7
Merge #12713: Track negated options in the option parser
f7683cba7b Track negated arguments in the argument paser. (Evan Klitzke)
4f872b2450 Add additional tests for GetBoolArg() (Evan Klitzke)

Pull request description:

  This change explicitly enable tracking negated options in the option parser. A negated option is one passed with a `-no` prefix. For example, `-nofoo` is the negated form of `-foo`. Negated options were originally added in the 0.6 release.

  The change here allows code to explicitly distinguish between cases like `-nofoo` and `-foo=0`, which was not possible previously. The option parser does not have any changed semantics as a result of this change, and existing code will parse options just as it did before.

  The motivation for this change is to provide a way to disable options that are otherwise not boolean options. For example, the `-debuglogfile` option is normally interpreted as a string, where the value is the log file name. With this change a user can pass in `-nodebuglogfile` and the code can see that it was explicitly negated, and use that to disable the log file.

  This change originally split out from #12689.

Tree-SHA512: cd5a7354eb03d2d402863c7b69e512cad382781d9b8f18c1ab104fc46d45a712530818d665203082da39572c8a42313c5be09306dc2a7227cdedb20ef7314823
2018-03-30 11:43:56 -04:00
..
bench Merge #10742: scripted-diff: Use scoped enumerations (C++11, "enum class") 2018-03-27 16:38:14 +02:00
compat Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
config
consensus Fix typos 2018-03-21 10:54:17 +01:00
crypto Consensus: Fix bug when compiler do not support __builtin_clz* 2018-03-01 17:20:27 +08:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy Merge #10742: scripted-diff: Use scoped enumerations (C++11, "enum class") 2018-03-27 16:38:14 +02:00
primitives Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
qt Merge #12780: Reduce variable scopes 2018-03-30 11:40:46 -04:00
rpc Merge #12172: Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished 2018-03-30 00:26:23 +02:00
script Merge #12714: Introduce interface for signing providers 2018-03-27 20:20:55 +02:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Merge #12048: Use best-fit strategy in Arena, now O(log(n)) instead O(n) 2018-03-22 14:28:37 +01:00
test Merge #12713: Track negated options in the option parser 2018-03-30 11:43:56 -04:00
univalue univalue: Bump subtree 2018-02-10 09:55:54 -05:00
wallet Merge #10762: [wallet] Remove Wallet dependencies from init.cpp 2018-03-29 17:03:22 +02:00
zmq Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
.clang-format
addrdb.cpp Add native support for serializing char arrays without FLATDATA 2018-03-21 14:14:04 -07:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrman.cpp net: Correct addrman logging 2018-03-06 21:52:53 +01:00
addrman.h Fix typos 2018-03-21 10:54:17 +01:00
amount.h
arith_uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
arith_uint256.h [arith_uint256] Avoid unnecessary this-copy using prefix operator 2018-02-28 19:59:19 +09:00
base58.cpp use base58 map instead of strchr() 2018-03-21 11:57:57 +08:00
base58.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
bech32.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
bech32.h Import Bech32 C++ reference code & tests 2017-09-28 16:02:16 -07:00
bitcoin-cli-res.rc
bitcoin-cli.cpp bitcoin-cli: Provide a better error message when bitcoind is not running 2018-03-09 14:55:44 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge #10694: Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) 2018-03-13 16:59:50 +01:00
bitcoind-res.rc
bitcoind.cpp Merge #10762: [wallet] Remove Wallet dependencies from init.cpp 2018-03-29 17:03:22 +02:00
blockencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
blockencodings.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
bloom.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
bloom.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.h Add static_assert to prevent VARINT(<signed value>) 2018-03-15 18:57:55 -05:00
chainparams.cpp Merge #11962: [net] add seed.bitcoin.sprovoost.nl to DNS seeds 2018-03-26 20:30:17 +02:00
chainparams.h Disable wallet fallbackfee by default on mainnet 2018-02-25 09:33:46 +08:00
chainparamsbase.cpp Refactor: One CBaseChainParams should be enough 2018-02-08 22:06:43 +01:00
chainparamsbase.h Refactor: One CBaseChainParams should be enough 2018-02-08 22:06:43 +01:00
chainparamsseeds.h Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
checkpoints.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkpoints.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkqueue.h [Refactor] Remove unused fQuit var from checkqueue.h 2018-01-07 20:44:21 +00:00
clientversion.cpp Merge #11966: clientversion: Use full commit hash for commit-based version descriptions 2018-02-13 10:58:41 +01:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
compat.h Add new prevector benchmarks. 2018-02-27 11:42:06 -08:00
compressor.cpp Move compressor utility functions out of class 2018-03-21 14:17:18 -07:00
compressor.h Move compressor utility functions out of class 2018-03-21 14:17:18 -07:00
core_io.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_read.cpp Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
core_write.cpp Fix typos 2018-03-21 08:34:44 +02:00
cuckoocache.h Fix typos 2018-03-21 08:34:44 +02:00
dbwrapper.cpp Merge #12784: Fix bug in memory usage calculation (unintended integer division) 2018-03-29 15:12:21 +02:00
dbwrapper.h Add DynamicMemoryUsage() to LevelDB 2018-03-06 00:25:39 -05:00
fs.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
fs.h
hash.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
hash.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
httprpc.cpp Merge #12778: RPC: Add username and ip logging for RPC method requests 2018-03-27 20:53:06 +02:00
httprpc.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httpserver.cpp Merge #12366: http: Join worker threads before deleting work queue 2018-02-08 09:21:49 +01:00
httpserver.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
indirectmap.h
init.cpp Merge #12820: contrib: Fix check-doc script regexes 2018-03-30 11:40:16 -04:00
init.h Merge #10762: [wallet] Remove Wallet dependencies from init.cpp 2018-03-29 17:03:22 +02:00
key.cpp Merge #9598: Improve readability by removing redundant casts to same type (on all platforms) 2018-03-07 17:47:46 +01:00
key.h Make CKey::Load references const 2018-01-23 13:16:56 -05:00
key_io.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
key_io.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
keystore.cpp Inline CKeyStore::AddKey(const CKey &) in CBasicKeyStore 2018-03-24 12:15:53 +00:00
keystore.h Merge #12762: Make CKeyStore an interface 2018-03-27 20:42:49 +02:00
limitedmap.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
Makefile.am Merge #12692: Add configure options for various -fsanitize flags 2018-03-29 22:57:58 +02:00
Makefile.bench.include Add new prevector benchmarks. 2018-02-27 11:42:06 -08:00
Makefile.leveldb.include
Makefile.qt.include Merge #11621: [build] Add temp_bitcoin_locale_qrc to CLEAN_QT to fix make distcheck 2017-11-17 14:04:02 +01:00
Makefile.qttest.include Remove redundant testutil files 2017-09-05 15:02:17 +12:00
Makefile.test.include Add tests for the Branch and Bound algorithm 2018-03-13 12:39:26 -04:00
memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
miner.cpp [config] Remove blockmaxsize option 2018-03-22 10:28:56 -04:00
miner.h Remove unused variable in SortForBlock 2018-03-14 23:10:39 -07:00
net.cpp Merge #12716: Fix typos and cleanup in various files 2018-03-21 11:17:43 -04:00
net.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
net_processing.cpp Fix typos 2018-03-21 08:34:44 +02:00
net_processing.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
netaddress.cpp Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
netaddress.h Add native support for serializing char arrays without FLATDATA 2018-03-21 14:14:04 -07:00
netbase.cpp Remove redundant checks for MSG_* from configure.ac 2018-03-15 20:02:00 +01:00
netbase.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
netmessagemaker.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.h
pow.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pow.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
prevector.h Use memset() to optimize prevector::resize() 2018-02-27 13:27:51 -08:00
protocol.cpp Add setter for g_initial_block_download_completed 2018-02-17 21:28:50 +11:00
protocol.h Add native support for serializing char arrays without FLATDATA 2018-03-21 14:14:04 -07:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pubkey.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
random.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
random.h Merge #12742: Make FastRandomContext support standard C++11 RNG interface 2018-03-22 12:21:46 -04:00
rest.cpp Merge #12717: [REST] Handle UTXO retrieval when ignoring the mempool 2018-03-27 21:32:02 +02:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
scheduler.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
serialize.h Add native support for serializing char arrays without FLATDATA 2018-03-21 14:14:04 -07:00
streams.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
sync.cpp Fix typos 2018-01-28 13:21:25 +01:00
sync.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.h
threadsafety.h
timedata.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
timedata.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
torcontrol.h boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
txdb.cpp Merge #12653: Allow to optional specify the directory for the blocks storage 2018-03-27 21:22:36 +02:00
txdb.h Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
txmempool.cpp Make CTxMemPool::isSpent() const 2018-03-25 11:32:41 +03:00
txmempool.h Make CTxMemPool::isSpent() const 2018-03-25 11:32:41 +03:00
ui_interface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
ui_interface.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
undo.h Merge #12716: Fix typos and cleanup in various files 2018-03-21 11:17:43 -04:00
util.cpp Track negated arguments in the argument paser. 2018-03-27 22:12:02 -07:00
util.h Track negated arguments in the argument paser. 2018-03-27 22:12:02 -07:00
utilmoneystr.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilmoneystr.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
utilstrencodings.h Generalize ConvertBits 2018-03-06 20:28:08 -08:00
utiltime.cpp Format timestamps using ISO 8601 formatting (e.g. "2018-02-28T12:34:56Z") 2018-03-09 15:02:01 +01:00
utiltime.h Format timestamps using ISO 8601 formatting (e.g. "2018-02-28T12:34:56Z") 2018-03-09 15:02:01 +01:00
validation.cpp Merge #12740: Add native support for serializing char arrays without FLATDATA 2018-03-30 13:10:22 +02:00
validation.h Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished 2018-03-29 06:24:30 +02:00
validationinterface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
validationinterface.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
version.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.cpp scripted-diff: Convert 11 enums into scoped enums (C++11) 2018-03-09 15:03:40 +01:00
versionbits.h scripted-diff: Convert 11 enums into scoped enums (C++11) 2018-03-09 15:03:40 +01:00
walletinitinterface.h [wallet] Add dummy wallet init class 2018-03-27 15:35:54 -04:00
warnings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
warnings.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00