fixes from compiling code and running all the tests on NT
authorJosh Coalson <jcoalson@users.sourceforce.net>
Tue, 11 Jun 2002 06:15:28 +0000 (06:15 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Tue, 11 Jun 2002 06:15:28 +0000 (06:15 +0000)
12 files changed:
include/FLAC++/metadata.h
src/flac/encode.c
src/libFLAC++/Makefile.vc
src/libFLAC/metadata_iterators.c
src/plugin_winamp2/in_flac.c
src/test_libFLAC++/Makefile.vc
src/test_libFLAC++/decoders.cc
src/test_libFLAC++/metadata.cc
src/test_libFLAC++/metadata_manip.cc
src/test_libFLAC++/metadata_object.cc
src/test_libFLAC/decoders.c
test/test_streams.sh

index b9a380c..578cf96 100644 (file)
@@ -91,13 +91,13 @@ namespace FLAC {
                };
 
                inline bool Prototype::operator==(const Prototype &object) const 
-               { return ::FLAC__metadata_object_is_equal(object_, object.object_); }
+               { return (bool)::FLAC__metadata_object_is_equal(object_, object.object_); }
 
                inline bool Prototype::operator==(const ::FLAC__StreamMetadata &object) const 
-               { return ::FLAC__metadata_object_is_equal(object_, &object); }
+               { return (bool)::FLAC__metadata_object_is_equal(object_, &object); }
 
                inline bool Prototype::operator==(const ::FLAC__StreamMetadata *object) const 
-               { return ::FLAC__metadata_object_is_equal(object_, object); }
+               { return (bool)::FLAC__metadata_object_is_equal(object_, object); }
 
                inline bool Prototype::operator!=(const Prototype &object) const 
                { return !operator==(object); }
index 3c978ae..4d7f683 100644 (file)
@@ -1108,7 +1108,6 @@ void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMet
        if(-1 == fseek(f, 26, SEEK_SET)) goto end_;
        fwrite(metadata->data.stream_info.md5sum, 1, 16, f);
 
-samples_:
        /* if we get this far we know we can seek so no need to check the
         * return value from fseek()
         */
index b269300..41ad982 100644 (file)
 \r
 !include <win32.mak>\r
 \r
-SUFFIXES = .cpp\r
+SUFFIXES = .cc\r
 \r
 !IFDEF DEBUG\r
 .cc.obj:\r
-       $(cc) /D "_LIB" /GX $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
+       $(cc) /D "_LIB" /GX /GR $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
 !else\r
 .cc.obj:\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
 !endif\r
 \r
 CC_FILES= \\r
@@ -44,15 +44,15 @@ libFLAC++.lib: $(OBJS)
 \r
 # can't figure out how to get it to take .cc so we just hack it for now:\r
 file_decoder.obj: file_decoder.cc\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP file_decoder.cc\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP file_decoder.cc\r
 metadata.obj: metadata.cc\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP metadata.cc\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP metadata.cc\r
 seekable_stream_decoder.obj: seekable_stream_decoder.cc\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP seekable_stream_decoder.cc\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP seekable_stream_decoder.cc\r
 stream_decoder.obj: stream_decoder.cc\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_decoder.cc\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_decoder.cc\r
 stream_encoder.obj: stream_encoder.cc\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_encoder.cc\r
+       $(cc) /D "_LIB" /O2 /GR $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_encoder.cc\r
 \r
 clean:\r
        -del *.obj *.pch\r
index 46968c4..c67a573 100644 (file)
@@ -2134,6 +2134,15 @@ FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tem
 
        (void)fclose(*tempfile);
        *tempfile = 0;
+
+#if defined _MSC_VER || defined __MINGW32__
+       if(unlink(filename) < 0) {
+               cleanup_tempfile_(tempfile, tempfilename);
+               *status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR;
+               return false;
+       }
+#endif
+
        /*@@@ to fully support the tempfile_path_prefix we need to update this piece to actually copy across filesystems instead of just rename(): */
        if(0 != rename(*tempfilename, filename)) {
                cleanup_tempfile_(tempfile, tempfilename);
index 3a1e4b6..d172aca 100644 (file)
@@ -208,23 +208,23 @@ int infoDlg(char *fn, HWND hwnd)
        return 0;
 }
 
-void getfileinfo(char *filename, char *title, int *length_in_ms)
+void getfileinfo(char *filename, char *title, int *length_in_msec)
 {
        id3v1_struct tag;
        FLAC__StreamMetadata streaminfo;
 
        if(0 == filename) {
                filename = lastfn_;
-               if (length_in_ms) {
-                       *length_in_ms = getlength();
-                       length_in_ms = 0; /* force skip in following code */
+               if (length_in_msec) {
+                       *length_in_msec = getlength();
+                       length_in_msec = 0; /* force skip in following code */
                }
        }
 
        if(!FLAC__metadata_get_streaminfo(filename, &streaminfo)) {
                MessageBox(mod_.hMainWindow, filename, "ERROR: invalid/missing FLAC metadata", 0);
                if(title) {
-                       static const char *errtitle = "Invalid FLAC File: ");
+                       static const char *errtitle = "Invalid FLAC File: ";
                        sprintf(title, "%s\"%s\"", errtitle, filename);
                }
                if(length_in_msec)
@@ -237,7 +237,7 @@ void getfileinfo(char *filename, char *title, int *length_in_ms)
                strcpy(title, tag.description);
        }
        if(length_in_msec)
-               *length_in_msec = streaminfo.data.stream_info.total_samples * 10 / (streaminfo.data.stream_info.sample_rate / 100);
+               *length_in_msec = (int)(streaminfo.data.stream_info.total_samples * 10 / (streaminfo.data.stream_info.sample_rate / 100));
 }
 
 void eq_set(int on, char data[10], int preamp)
index 96ede9c..9714455 100644 (file)
@@ -17,7 +17,7 @@
 \r
 !include <win32.mak>\r
 \r
-SUFFIXES = .cpp\r
+SUFFIXES = .cc\r
 \r
 !IFDEF DEBUG\r
 .c.obj:\r
@@ -29,10 +29,10 @@ SUFFIXES = .cpp
 \r
 !IFDEF DEBUG\r
 .cc.obj:\r
-       $(cc) /D "_LIB" /GX $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
+       $(cc) /GR /D "_LIB" /GX $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
 !else\r
 .cc.obj:\r
-       $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
+       $(cc) /GR /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
 !endif\r
 \r
 C_FILES= \\r
@@ -46,8 +46,10 @@ CC_FILES= \
        metadata_manip.cc \\r
        metadata_object.cc\r
 \r
-OBJS= $(C_FILES:.c=.obj)\r
-OBJS= $(CC_FILES:.cc=.obj)\r
+C_OBJS= $(C_FILES:.c=.obj)\r
+CC_OBJS= $(CC_FILES:.cc=.obj)\r
+\r
+all: test_libFLAC++.exe\r
 \r
 # can't figure out how to get it to take .cc so we just hack it for now:\r
 decoders.obj: decoders.cc\r
@@ -63,10 +65,8 @@ metadata_manip.obj: metadata_manip.cc
 metadata_object.obj: metadata_object.cc\r
        $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP metadata_object.cc\r
 \r
-all: test_libFLAC++.exe\r
-\r
-test_libFLAC++.exe: $(OBJS)\r
-       link.exe /libpath:"..\..\obj\lib" -out:../../obj/bin/$*.exe $(OBJS) libFLAC++.lib libFLAC.lib\r
+test_libFLAC++.exe: $(C_OBJS) $(CC_OBJS)\r
+       link.exe /libpath:"..\..\obj\lib" -out:../../obj/bin/$*.exe $(CC_OBJS) $(C_OBJS) libFLAC++.lib libFLAC.lib\r
 \r
 clean:\r
        -del *.obj *.pch\r
index 6c39a8d..2367adc 100644 (file)
@@ -258,12 +258,12 @@ public:
 
 void StreamDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
 {
-       return common_metadata_callback_(metadata);
+       common_metadata_callback_(metadata);
 }
 
 void StreamDecoder::error_callback(::FLAC__StreamDecoderErrorStatus status)
 {
-       return common_error_callback_(status);
+       common_error_callback_(status);
 }
 
 bool StreamDecoder::die(const char *msg) const
@@ -830,7 +830,7 @@ public:
        if(error_occurred_)
                return ::FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
 
-       if(::fseek(file_, absolute_byte_offset, SEEK_SET) < 0) {
+       if(::fseek(file_, (long)absolute_byte_offset, SEEK_SET) < 0) {
                error_occurred_ = true;
                return ::FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
        }
@@ -868,7 +868,7 @@ bool SeekableStreamDecoder::eof_callback()
        if(error_occurred_)
                return true;
 
-       return feof(file_);
+       return (bool)feof(file_);
 }
 
 ::FLAC__StreamDecoderWriteStatus SeekableStreamDecoder::write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[])
index bf1af0e..841ce52 100644 (file)
@@ -19,8 +19,8 @@
 #include "metadata.h"
 #include <stdio.h>
 
-extern int test_metadata_object();
-extern int test_metadata_file_manipulation();
+extern bool test_metadata_object();
+extern bool test_metadata_file_manipulation();
 
 bool test_metadata()
 {
index cdfb04c..78fa0ca 100644 (file)
@@ -639,7 +639,7 @@ static bool test_level_1_()
                return die_ss_("iterator.insert_block_after(app, true)", iterator);
        if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
                return false;
-       add_to_padding_length_(our_current_position+1, -((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->get_length()));
+       add_to_padding_length_(our_current_position+1, -((int)(FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + (int)app->get_length()));
 
        if(!test_file_(flacfile_, /*ignore_metadata=*/false))
                return false;
@@ -655,7 +655,7 @@ static bool test_level_1_()
                return die_ss_("iterator.set_block(app, true)", iterator);
        if(!insert_to_our_metadata_(app, our_current_position, /*copy=*/true))
                return false;
-       add_to_padding_length_(our_current_position+1, -((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->get_length()));
+       add_to_padding_length_(our_current_position+1, -((int)(FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + (int)app->get_length()));
 
        if(!test_file_(flacfile_, /*ignore_metadata=*/false))
                return false;
@@ -690,7 +690,7 @@ static bool test_level_1_()
                return die_("setting APPLICATION data");
        if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
                return die_("copying object");
-       add_to_padding_length_(our_current_position+1, -(sizeof(data) - 12));
+       add_to_padding_length_(our_current_position+1, -((int)sizeof(data) - 12));
        if(!iterator.set_block(app, true))
                return die_ss_("iterator.set_block(app, true)", iterator);
 
index 2c3f33f..b92eb8a 100644 (file)
@@ -271,7 +271,7 @@ bool test_metadata_object_streaminfo()
        printf("OK\n");
 
        printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
-       FLAC::Metadata::Prototype *clone_ = clone(&block);
+       FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
        if(0 == clone_)
                return die_("returned NULL");
        if(0 == dynamic_cast<FLAC::Metadata::StreamInfo *>(clone_))
@@ -381,7 +381,7 @@ bool test_metadata_object_padding()
        printf("OK\n");
 
        printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
-       FLAC::Metadata::Prototype *clone_ = clone(&block);
+       FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
        if(0 == clone_)
                return die_("returned NULL");
        if(0 == dynamic_cast<FLAC::Metadata::Padding *>(clone_))
@@ -500,7 +500,7 @@ bool test_metadata_object_application()
        printf("OK\n");
 
        printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
-       FLAC::Metadata::Prototype *clone_ = clone(&block);
+       FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
        if(0 == clone_)
                return die_("returned NULL");
        if(0 == dynamic_cast<FLAC::Metadata::Application *>(clone_))
@@ -648,7 +648,7 @@ bool test_metadata_object_seektable()
        printf("OK\n");
 
        printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
-       FLAC::Metadata::Prototype *clone_ = clone(&block);
+       FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
        if(0 == clone_)
                return die_("returned NULL");
        if(0 == dynamic_cast<FLAC::Metadata::SeekTable *>(clone_))
@@ -934,7 +934,7 @@ bool test_metadata_object_vorbiscomment()
        printf("OK\n");
 
        printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
-       FLAC::Metadata::Prototype *clone_ = clone(&block);
+       FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
        if(0 == clone_)
                return die_("returned NULL");
        if(0 == dynamic_cast<FLAC::Metadata::VorbisComment *>(clone_))
index 09a1720..8fe969e 100644 (file)
@@ -820,7 +820,7 @@ static FLAC__SeekableStreamDecoderSeekStatus seekable_stream_decoder_seek_callba
        if(dcd->error_occurred)
                return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
 
-       if(fseek(dcd->file, absolute_byte_offset, SEEK_SET) < 0) {
+       if(fseek(dcd->file, (long)absolute_byte_offset, SEEK_SET) < 0) {
                dcd->error_occurred = true;
                return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
        }
index 8aebb0d..9db6304 100755 (executable)
@@ -68,21 +68,47 @@ test_file_piped ()
        bps=$3
        encode_options="$4"
 
+       if [ `env | grep -ic '^comspec='` != 0 ] ; then
+               is_win=yes
+       else
+               is_win=no
+       fi
+
        echo -n "$name: encode via pipes..."
-       cmd="flac -V -s -fr -fb -fs 44100 -fp $bps -fc $channels $encode_options -c -"
-       echo "### ENCODE $name #######################################################" >> ./streams.log
-       echo "###    cmd=$cmd" >> ./streams.log
-       if cat $name.raw | $cmd 1>$name.flac 2>>./streams.log ; then : ; else
-               echo "ERROR during encode of $name" 1>&2
-               exit 1
+       if [ $is_win = yes ] ; then
+               cmd="flac -V -s -fr -fb -fs 44100 -fp $bps -fc $channels $encode_options -c $name.raw"
+               echo "### ENCODE $name #######################################################" >> ./streams.log
+               echo "###    cmd=$cmd" >> ./streams.log
+               if $cmd 1>$name.flac 2>>./streams.log ; then : ; else
+                       echo "ERROR during encode of $name" 1>&2
+                       exit 1
+               fi
+       else
+               cmd="flac -V -s -fr -fb -fs 44100 -fp $bps -fc $channels $encode_options -c -"
+               echo "### ENCODE $name #######################################################" >> ./streams.log
+               echo "###    cmd=$cmd" >> ./streams.log
+               if cat $name.raw | $cmd 1>$name.flac 2>>./streams.log ; then : ; else
+                       echo "ERROR during encode of $name" 1>&2
+                       exit 1
+               fi
        fi
        echo -n "decode via pipes..."
-       cmd="flac -s -fb -d -fr -c -"
-       echo "### DECODE $name #######################################################" >> ./streams.log
-       echo "###    cmd=$cmd" >> ./streams.log
-       if cat $name.flac | $cmd 1>$name.cmp 2>>./streams.log ; then : ; else
-               echo "ERROR during decode of $name" 1>&2
-               exit 1
+       if [ $is_win = yes ] ; then
+               cmd="flac -s -fb -d -fr -c $name.flac"
+               echo "### DECODE $name #######################################################" >> ./streams.log
+               echo "###    cmd=$cmd" >> ./streams.log
+               if $cmd 1>$name.cmp 2>>./streams.log ; then : ; else
+                       echo "ERROR during decode of $name" 1>&2
+                       exit 1
+               fi
+       else
+               cmd="flac -s -fb -d -fr -c -"
+               echo "### DECODE $name #######################################################" >> ./streams.log
+               echo "###    cmd=$cmd" >> ./streams.log
+               if cat $name.flac | $cmd 1>$name.cmp 2>>./streams.log ; then : ; else
+                       echo "ERROR during decode of $name" 1>&2
+                       exit 1
+               fi
        fi
        ls -1l $name.raw >> ./streams.log
        ls -1l $name.flac >> ./streams.log