diff options
Diffstat (limited to 'gr-blocks/lib/udp_source_impl.cc')
-rw-r--r-- | gr-blocks/lib/udp_source_impl.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gr-blocks/lib/udp_source_impl.cc b/gr-blocks/lib/udp_source_impl.cc index 4b8815372f..11765de504 100644 --- a/gr-blocks/lib/udp_source_impl.cc +++ b/gr-blocks/lib/udp_source_impl.cc @@ -16,6 +16,7 @@ #include <gnuradio/io_signature.h> #include <gnuradio/math.h> #include <gnuradio/prefs.h> +#include <cstddef> #include <cstring> #include <memory> @@ -176,12 +177,12 @@ int udp_source_impl::work(int noutput_items, return d_residual; } - int bytes_left_in_buffer = (int)(d_residual - d_sent); - int bytes_to_send = std::min<int>(d_itemsize * noutput_items, bytes_left_in_buffer); + const std::ptrdiff_t bytes_left_in_buffer = d_residual - d_sent; + auto bytes_to_send = + std::min<std::ptrdiff_t>(d_itemsize * noutput_items, bytes_left_in_buffer); // Copy the received data in the residual buffer to the output stream memcpy(out, d_residbuf.data() + d_sent, bytes_to_send); - int nitems = bytes_to_send / d_itemsize; // Keep track of where we are if we don't have enough output // space to send all the data in the residbuf. @@ -192,7 +193,7 @@ int udp_source_impl::work(int noutput_items, d_sent += bytes_to_send; } - return nitems; + return bytes_to_send / d_itemsize; } } /* namespace blocks */ |