From 5650a7d1c41a264a0da15c3bb17d2c14335fcc27 Mon Sep 17 00:00:00 2001 From: "henrik.lundin" Date: Wed, 22 Feb 2017 03:45:40 -0800 Subject: [PATCH] Improved readability and DCHECKing in AudioVector::[] This is a follow-up to https://codereview.webrtc.org/2700633003, where post-commit comments suggested these changes. BUG=webrtc:7159 Review-Url: https://codereview.webrtc.org/2706263002 Cr-Commit-Position: refs/heads/master@{#16771} --- webrtc/modules/audio_coding/neteq/audio_vector.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/webrtc/modules/audio_coding/neteq/audio_vector.h b/webrtc/modules/audio_coding/neteq/audio_vector.h index 9100ff8968..57e01ab2e1 100644 --- a/webrtc/modules/audio_coding/neteq/audio_vector.h +++ b/webrtc/modules/audio_coding/neteq/audio_vector.h @@ -127,9 +127,13 @@ class AudioVector { static inline size_t WrapIndex(size_t index, size_t begin_index, size_t capacity) { - RTC_DCHECK_GE(begin_index + index, index); // Check for overflow. - const size_t ix = - begin_index + index - (begin_index + index >= capacity ? capacity : 0); + RTC_DCHECK_LT(index, capacity); + RTC_DCHECK_LT(begin_index, capacity); + size_t ix = begin_index + index; + RTC_DCHECK_GE(ix, index); // Check for overflow. + if (ix >= capacity) { + ix -= capacity; + } RTC_DCHECK_LT(ix, capacity); return ix; }