summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac10
-rw-r--r--src/libFLAC++/stream_encoder.cpp13
2 files changed, 2 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac
index 353637eb..8ca4d7b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,18 +54,8 @@ AC_CHECK_SIZEOF(off_t,1) # Fake default value.
AC_CHECK_SIZEOF([void*])
AC_SEARCH_LIBS([lround],[m], [AC_DEFINE(HAVE_LROUND,1,lround support)])
-AC_LANG_PUSH([C++])
-# c++ flavor first
-AC_C_VARARRAYS
-if test $ac_cv_c_vararrays = yes; then
- AC_DEFINE([HAVE_CXX_VARARRAYS], 1, [Define to 1 if C++ supports variable-length arrays.])
-fi
-AC_LANG_POP([C++])
-
-# c flavor
AM_PROG_CC_C_O
AC_C_INLINE
-AC_C_VARARRAYS
AC_C_TYPEOF
AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h])
diff --git a/src/libFLAC++/stream_encoder.cpp b/src/libFLAC++/stream_encoder.cpp
index 1e047849..8230f609 100644
--- a/src/libFLAC++/stream_encoder.cpp
+++ b/src/libFLAC++/stream_encoder.cpp
@@ -198,26 +198,17 @@ namespace FLAC {
bool Stream::set_metadata(FLAC::Metadata::Prototype **metadata, uint32_t num_blocks)
{
FLAC__ASSERT(is_valid());
-#ifndef HAVE_CXX_VARARRAYS
- // some compilers (MSVC++, Borland C, SunPro, some GCCs w/ -pedantic) can't handle:
- // ::FLAC__StreamMetadata *m[num_blocks];
- // so we do this ugly workaround
+ // because C++ doesn't have VLA's (variable length arrays)
+ // this ugly workaround is needed
::FLAC__StreamMetadata **m = new ::FLAC__StreamMetadata*[num_blocks];
-#else
- ::FLAC__StreamMetadata *m[num_blocks];
-#endif
for(uint32_t i = 0; i < num_blocks; i++) {
// we can get away with the const_cast since we know the encoder will only correct the is_last flags
m[i] = const_cast< ::FLAC__StreamMetadata*>(static_cast<const ::FLAC__StreamMetadata*>(*metadata[i]));
}
-#ifndef HAVE_CXX_VARARRAYS
// complete the hack
const bool ok = static_cast<bool>(::FLAC__stream_encoder_set_metadata(encoder_, m, num_blocks));
delete [] m;
return ok;
-#else
- return static_cast<bool>(::FLAC__stream_encoder_set_metadata(encoder_, m, num_blocks));
-#endif
}
Stream::State Stream::get_state() const