summaryrefslogtreecommitdiff
path: root/src/lib/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-11-04 21:32:55 +0000
committerCarl Hetherington <cth@carlh.net>2012-11-04 21:32:55 +0000
commit0801b4163c1c66061692fe24ef39cfffdfda462e (patch)
tree39b16aaeaa6a96264300a1a9f9ba9298a7fdc175 /src/lib/util.cc
parent555b4068ff0e1726519d720b055a9faaca01a1a1 (diff)
Fix various bugs.
Diffstat (limited to 'src/lib/util.cc')
-rw-r--r--src/lib/util.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 26b2877f7..5dd39c0e8 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -792,6 +792,19 @@ AudioBuffers::copy_from (AudioBuffers* from, int frames_to_copy, int read_offset
void
AudioBuffers::move (int from, int to, int frames)
{
+ if (frames == 0) {
+ return;
+ }
+
+ assert (from >= 0);
+ assert (from < _frames);
+ assert (to >= 0);
+ assert (to < _frames);
+ assert (frames > 0);
+ assert (frames <= _frames);
+ assert ((from + frames) <= _frames);
+ assert ((to + frames) <= _frames);
+
for (int i = 0; i < _channels; ++i) {
memmove (_data[i] + to, _data[i] + from, frames * sizeof(float));
}