From dd157f8be8914723883f4dc13060c3b09917dae3 Mon Sep 17 00:00:00 2001 From: q66 Date: Wed, 1 Jul 2015 22:26:56 +0100 Subject: [PATCH] fix get_n --- octa/range.hh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/octa/range.hh b/octa/range.hh index fa8cbda..8a30d8e 100644 --- a/octa/range.hh +++ b/octa/range.hh @@ -466,14 +466,20 @@ template> Size get_n(OR orange, Size n = -1) { B &r = *((B *)this); Size on = n; - for (; n && !r.empty() && orange.put(r.front()); --n); + for (; n && !r.empty(); --n) { + orange.put(r.front()); + r.pop_front(); + } return (on - n); } Size get_n(octa::RemoveCv *p, Size n = -1) { B &r = *((B *)this); Size on = n; - for (; n && !r.empty(); --n) *p++ = r.front(); + for (; n && !r.empty(); --n) { + *p++ = r.front(); + r.pop_front(); + } return (on - n); } };