From 349436284b5f1baa61836c98ff0d518392140c5d Mon Sep 17 00:00:00 2001 From: Christian Krause Date: Mon, 28 Apr 2014 03:08:08 +0200 Subject: [PATCH] Avoid "jump to label crosses initialization" error. Move variable "buffer" into the while loop to avoid a compile error with g++ 4.9.0. Although earlier compiler versions did accept the code, jumping into the scope of an variable length array is not allowed: http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Variable-Length.html --- src/mumble/OSS.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mumble/OSS.cpp b/src/mumble/OSS.cpp index eb87d5b..4af1326 100644 --- a/src/mumble/OSS.cpp +++ b/src/mumble/OSS.cpp @@ -243,9 +243,9 @@ void OSSInput::run() { eMicFormat = SampleShort; initializeMixer(); - short buffer[iMicLength]; - while (bRunning) { + short buffer[iMicLength]; + int len = static_cast(iMicLength * iMicChannels * sizeof(short)); ssize_t l = read(fd, buffer, len); if (l != len) {