From b1fb09e18366040b5e17b100cd8469933acddbef Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Sat, 23 Aug 2014 13:55:52 +0200
Subject: decoder/dsf: make the buffer more local

This allows the compiler to discard buffer contents between two
iterations.
---
 src/decoder/plugins/DsfDecoderPlugin.cxx | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

(limited to 'src/decoder')

diff --git a/src/decoder/plugins/DsfDecoderPlugin.cxx b/src/decoder/plugins/DsfDecoderPlugin.cxx
index c0b0871cf..3b967fc14 100644
--- a/src/decoder/plugins/DsfDecoderPlugin.cxx
+++ b/src/decoder/plugins/DsfDecoderPlugin.cxx
@@ -252,12 +252,11 @@ dsf_decode_chunk(Decoder &decoder, InputStream &is,
 		 offset_type n_blocks,
 		 bool bitreverse)
 {
-	/* worst-case buffer size */
-	uint8_t buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
-
 	const size_t block_size = channels * DSF_BLOCK_SIZE;
 
 	for (offset_type i = 0; i < n_blocks;) {
+		/* worst-case buffer size */
+		uint8_t buffer[MAX_CHANNELS * DSF_BLOCK_SIZE];
 		if (!decoder_read_full(&decoder, is, buffer, block_size))
 			return false;
 
-- 
cgit v1.2.3