diff options
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/libFLAC++/stream_encoder.cpp | 13 |
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 |