Simplify CalcAverageUint32Value with range-based for-loop

Change-Id: Ie2018cf3914ba1e098026442dcaa4175afc1b206
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/126430
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
Commit-Queue: Chris Mumford <cmumford@google.com>
diff --git a/applications/terminal_display/main.cc b/applications/terminal_display/main.cc
index ee6b2d8..db9ada7 100644
--- a/applications/terminal_display/main.cc
+++ b/applications/terminal_display/main.cc
@@ -441,22 +441,18 @@
 }
 
 // Given a ring buffer full of uint32_t values, return the average value
-// or zero if empty.
+// or zero if empty (or iteration error).
 uint32_t CalcAverageUint32Value(PrefixedEntryRingBuffer& ring_buffer) {
-  if (!ring_buffer.EntryCount())
-    return 0;
   uint64_t sum = 0;
   uint32_t count = 0;
-  pw::ring_buffer::PrefixedEntryRingBufferMulti::iterator it =
-      ring_buffer.begin();
-  for (; it != ring_buffer.end(); ++it) {
-    PW_ASSERT(it->buffer.size() == sizeof(uint32_t));
+  for (const auto& entry_info : ring_buffer) {
+    PW_ASSERT(entry_info.buffer.size() == sizeof(uint32_t));
     uint32_t val;
-    std::memcpy(&val, it->buffer.data(), sizeof(val));
+    std::memcpy(&val, entry_info.buffer.data(), sizeof(val));
     sum += val;
     count++;
   }
-  return sum / count;
+  return count == 0 ? 0 : sum / count;
 }
 
 }  // namespace