Fix for autoreconf failures.
[flac.git] / src / test_libFLAC++ / decoders.cpp
index a4b9e2f..f7f5a42 100644 (file)
@@ -1,5 +1,5 @@
 /* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006  Josh Coalson
+ * Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009  Josh Coalson
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#if defined _MSC_VER || defined __MINGW32__
-#if _MSC_VER <= 1200 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
 #include "decoders.h"
 #include "FLAC/assert.h"
 #include "FLAC/metadata.h" // for ::FLAC__metadata_object_is_equal()
 #include "FLAC++/decoder.h"
 #include "share/grabbag.h"
+#include "share/compat.h"
 extern "C" {
 #include "test_libs_common/file_utils_flac.h"
 #include "test_libs_common/metadata_utils.h"
@@ -66,7 +61,7 @@ static off_t flacfilesize_;
 
 static const char *flacfilename(bool is_ogg)
 {
-       return is_ogg? "metadata.ogg" : "metadata.flac";
+       return is_ogg? "metadata.oga" : "metadata.flac";
 }
 
 static bool die_(const char *msg)
@@ -187,7 +182,7 @@ public:
        ~StreamDecoder() { }
 
        // from FLAC::Decoder::Stream
-       ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], unsigned *bytes);
+       ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes);
        ::FLAC__StreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset);
        ::FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset);
        ::FLAC__StreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length);
@@ -199,9 +194,9 @@ public:
        bool test_respond(bool is_ogg);
 };
 
-::FLAC__StreamDecoderReadStatus StreamDecoder::read_callback(FLAC__byte buffer[], unsigned *bytes)
+::FLAC__StreamDecoderReadStatus StreamDecoder::read_callback(FLAC__byte buffer[], size_t *bytes)
 {
-       const unsigned requested_bytes = *bytes;
+       const size_t requested_bytes = *bytes;
 
        if(error_occurred_)
                return ::FLAC__STREAM_DECODER_READ_STATUS_ABORT;
@@ -332,7 +327,11 @@ bool StreamDecoder::test_respond(bool is_ogg)
        printf("OK\n");
 
        printf("testing finish()... ");
-       finish();
+       if(!finish()) {
+               State state = get_state();
+               printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+               return false;
+       }
        printf("OK\n");
 
        return true;
@@ -414,7 +413,11 @@ bool FileDecoder::test_respond(bool is_ogg)
        printf("OK\n");
 
        printf("testing finish()... ");
-       finish();
+       if(!finish()) {
+               State state = get_state();
+               printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+               return false;
+       }
        printf("OK\n");
 
        return true;
@@ -714,7 +717,11 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
        }
 
        printf("testing finish()... ");
-       decoder->finish();
+       if(!decoder->finish()) {
+               FLAC::Decoder::Stream::State state = decoder->get_state();
+               printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+               return false;
+       }
        printf("OK\n");
 
        /*