diff --git a/src/uvw/stream.hpp b/src/uvw/stream.hpp index fd661f42..db7d60c2 100644 --- a/src/uvw/stream.hpp +++ b/src/uvw/stream.hpp @@ -118,9 +118,7 @@ class WriteReq final: public Request { bufs{new uv_buf_t[N], &deleter}, nbufs{N} { - for(std::size_t i = 0; i < N; ++i) { - bufs[i] = arr[i]; - } + std::copy_n(std::begin(arr), N, bufs.get()); } public: diff --git a/src/uvw/udp.hpp b/src/uvw/udp.hpp index 30fc60c9..44cd77f6 100644 --- a/src/uvw/udp.hpp +++ b/src/uvw/udp.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -72,9 +73,7 @@ class SendReq final: public Request { bufs{new uv_buf_t[N], &deleter}, nbufs{N} { - for(std::size_t i = 0; i < N; ++i) { - bufs[i] = arr[i]; - } + std::copy_n(std::begin(arr), N, bufs.get()); } public: diff --git a/test/uvw/loop.cpp b/test/uvw/loop.cpp index 805839e3..051839f9 100644 --- a/test/uvw/loop.cpp +++ b/test/uvw/loop.cpp @@ -2,7 +2,7 @@ #include -TEST(Loop, PartiallyDone) { +TEST(Loop, DefaultLoop) { auto def = uvw::Loop::getDefault(); ASSERT_TRUE(static_cast(def)); @@ -11,6 +11,13 @@ TEST(Loop, PartiallyDone) { def->walk([](uvw::BaseHandle &) { FAIL(); }); + auto def2 = uvw::Loop::getDefault(); + ASSERT_EQ(def, def2); +} + + +TEST(Loop, PartiallyDone) { + auto loop = uvw::Loop::create(); auto handle = loop->resource(); auto req = loop->resource([]{});