diff --git a/src/uvw/dns.hpp b/src/uvw/dns.hpp index e705e98c..34ff2228 100644 --- a/src/uvw/dns.hpp +++ b/src/uvw/dns.hpp @@ -72,7 +72,7 @@ struct NameInfoEvent: Event { */ class GetAddrInfoReq final: public Request { static void getAddrInfoCallback(uv_getaddrinfo_t *req, int status, addrinfo *res) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(status) { ptr->publish(ErrorEvent{status}); @@ -199,7 +199,7 @@ public: */ class GetNameInfoReq final: public Request { static void getNameInfoCallback(uv_getnameinfo_t *req, int status, const char *hostname, const char *service) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(status) { ptr->publish(ErrorEvent{status}); } else { ptr->publish(NameInfoEvent{hostname, service}); } } diff --git a/src/uvw/fs.hpp b/src/uvw/fs.hpp index 262a646d..d1177ef5 100644 --- a/src/uvw/fs.hpp +++ b/src/uvw/fs.hpp @@ -282,21 +282,21 @@ class FsRequest: public Request { protected: template static void fsGenericCallback(uv_fs_t *req) { - auto ptr = Request::reserve(reinterpret_cast(req)); + auto ptr = Request::reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); } else { ptr->publish(FsEvent{req->path}); } } template static void fsResultCallback(uv_fs_t *req) { - auto ptr = Request::reserve(reinterpret_cast(req)); + auto ptr = Request::reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); } else { ptr->publish(FsEvent{req->path, req->result}); } } template static void fsStatCallback(uv_fs_t *req) { - auto ptr = Request::reserve(reinterpret_cast(req)); + auto ptr = Request::reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); } else { ptr->publish(FsEvent{req->path, req->statbuf}); } } @@ -337,7 +337,7 @@ class FileReq final: public FsRequest { static constexpr uv_file BAD_FD = -1; static void fsOpenCallback(uv_fs_t *req) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); @@ -348,7 +348,7 @@ class FileReq final: public FsRequest { } static void fsCloseCallback(uv_fs_t *req) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); @@ -359,7 +359,7 @@ class FileReq final: public FsRequest { } static void fsReadCallback(uv_fs_t *req) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); } else { ptr->publish(FsEvent{req->path, std::move(ptr->data), req->result}); } } @@ -725,7 +725,7 @@ private: */ class FsReq final: public FsRequest { static void fsReadlinkCallback(uv_fs_t *req) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(req->result < 0) { ptr->publish(ErrorEvent{req->result}); } else { ptr->publish(FsEvent{req->path, static_cast(req->ptr), req->result}); } } diff --git a/src/uvw/request.hpp b/src/uvw/request.hpp index 3b07ec58..55231858 100644 --- a/src/uvw/request.hpp +++ b/src/uvw/request.hpp @@ -16,7 +16,7 @@ class Request: public Resource { protected: using Resource::Resource; - static auto reserve(uv_req_t *req) { + static auto reserve(U *req) { auto ptr = static_cast(req->data)->shared_from_this(); ptr->reset(); return ptr; @@ -24,7 +24,7 @@ protected: template static void defaultCallback(U *req, int status) { - auto ptr = reserve(reinterpret_cast(req)); + auto ptr = reserve(req); if(status) { ptr->publish(ErrorEvent{status}); } else { ptr->publish(E{}); } }