mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 22:18:54 +01:00
Merge #10498: Use static_cast instead of C-style casts for non-fundamental types
9ad6746ccd Use static_cast instead of C-style casts for non-fundamental types (practicalswift)
Pull request description:
A C-style cast is equivalent to try casting in the following order:
1. `const_cast(...)`
2. `static_cast(...)`
3. `const_cast(static_cast(...))`
4. `reinterpret_cast(...)`
5. `const_cast(reinterpret_cast(...))`
By using `static_cast<T>(...)` explicitly we avoid the possibility of an unintentional and dangerous `reinterpret_cast`. Furthermore `static_cast<T>(...)` allows for easier grepping of casts.
For a more thorough discussion, see ["ES.49: If you must use a cast, use a named cast"](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es49-if-you-must-use-a-cast-use-a-named-cast) in the C++ Core Guidelines (Stroustrup & Sutter).
Tree-SHA512: bd6349b7ea157da93a47b8cf238932af5dff84731374ccfd69b9f732fabdad1f9b1cdfca67497040f14eaa85346391404f4c0495e22c467f26ca883cd2de4d3c
This commit is contained in:
@@ -133,7 +133,7 @@ TorControlConnection::~TorControlConnection()
|
||||
|
||||
void TorControlConnection::readcb(struct bufferevent *bev, void *ctx)
|
||||
{
|
||||
TorControlConnection *self = (TorControlConnection*)ctx;
|
||||
TorControlConnection *self = static_cast<TorControlConnection*>(ctx);
|
||||
struct evbuffer *input = bufferevent_get_input(bev);
|
||||
size_t n_read_out = 0;
|
||||
char *line;
|
||||
@@ -178,7 +178,7 @@ void TorControlConnection::readcb(struct bufferevent *bev, void *ctx)
|
||||
|
||||
void TorControlConnection::eventcb(struct bufferevent *bev, short what, void *ctx)
|
||||
{
|
||||
TorControlConnection *self = (TorControlConnection*)ctx;
|
||||
TorControlConnection *self = static_cast<TorControlConnection*>(ctx);
|
||||
if (what & BEV_EVENT_CONNECTED) {
|
||||
LogPrint(BCLog::TOR, "tor: Successfully connected!\n");
|
||||
self->connected(*self);
|
||||
@@ -725,7 +725,7 @@ fs::path TorController::GetPrivateKeyFile()
|
||||
|
||||
void TorController::reconnect_cb(evutil_socket_t fd, short what, void *arg)
|
||||
{
|
||||
TorController *self = (TorController*)arg;
|
||||
TorController *self = static_cast<TorController*>(arg);
|
||||
self->Reconnect();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user