diff options
author | Steve Markgraf <steve@steve-m.de> | 2012-05-13 04:17:02 +0200 |
---|---|---|
committer | Steve Markgraf <steve@steve-m.de> | 2012-05-13 04:17:02 +0200 |
commit | 20d4ef7e4a6d2dba93dd0ccd7ab9aeffdbe6fc5c (patch) | |
tree | 8d62ea1caf018806d01d10049a6b420cf001504d | |
parent | 52b5a8a4d38f42c8b256ae422e1e9910a3fd9b8a (diff) |
rtl_source_c: fix several off-by-one errors
Those summed up and caused sample loss.
Thanks to Hoernchen for helping me tracking those down.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
-rw-r--r-- | lib/rtl/rtl_source_c.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/rtl/rtl_source_c.cc b/lib/rtl/rtl_source_c.cc index 7150590..9d2223f 100644 --- a/lib/rtl/rtl_source_c.cc +++ b/lib/rtl/rtl_source_c.cc @@ -249,14 +249,14 @@ int rtl_source_c::work( int noutput_items, unsigned short *buf = _buf[_buf_head]; if (noutput_items <= int(_samp_avail)) { - for (int i = 0; i <= noutput_items; ++i) + for (int i = 0; i < noutput_items; ++i) *out++ = _lut[ *(buf + _buf_offset + i) ]; _buf_offset += noutput_items; _samp_avail -= noutput_items; return noutput_items; } else { - for (int i = 0; i <= int(_samp_avail); ++i) + for (int i = 0; i < int(_samp_avail); ++i) *out++ = _lut[ *(buf + _buf_offset + i) ]; { @@ -271,7 +271,7 @@ int rtl_source_c::work( int noutput_items, int remaining = noutput_items - _samp_avail; - for (int i = 0; i <= remaining; ++i) + for (int i = 0; i < remaining; ++i) *out++ = _lut[ *(buf + _buf_offset + i) ]; _buf_offset = remaining; |