allow file generator to return the filesize
authorJosh Coalson <jcoalson@users.sourceforce.net>
Tue, 4 Jun 2002 05:56:54 +0000 (05:56 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Tue, 4 Jun 2002 05:56:54 +0000 (05:56 +0000)
src/test_unit/file_utils.c
src/test_unit/file_utils.h

index 2a80293..ac5473e 100644 (file)
@@ -92,7 +92,7 @@ FLAC__bool file_utils__remove_file(const char *filename)
        return file_utils__change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
 }
 
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata)
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata)
 {
        FLAC__int32 samples[1024];
        FLAC__StreamEncoder *encoder;
@@ -160,5 +160,14 @@ FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned l
 
        FLAC__stream_encoder_delete(encoder);
 
+       if(0 != output_filesize) {
+               struct stat filestats;
+
+               if(stat(output_filename, &filestats) != 0)
+                       return false;
+               else
+                       *output_filesize = (unsigned)filestats.st_size;
+       }
+
        return true;
 }
index 6e98007..e78e257 100644 (file)
@@ -22,4 +22,4 @@ FLAC__bool file_utils__change_stats(const char *filename, FLAC__bool read_only);
 
 FLAC__bool file_utils__remove_file(const char *filename);
 
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata);
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata);