fix bug in file closing logic in _finish()
authorJosh Coalson <jcoalson@users.sourceforce.net>
Sat, 16 Sep 2006 00:08:45 +0000 (00:08 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Sat, 16 Sep 2006 00:08:45 +0000 (00:08 +0000)
src/libFLAC/stream_decoder.c
src/libOggFLAC/stream_decoder.c

index 3f3e906..1cb233c 100644 (file)
@@ -581,8 +581,9 @@ FLAC_API FLAC__bool FLAC__stream_decoder_finish(FLAC__StreamDecoder *decoder)
        decoder->private_->output_capacity = 0;
        decoder->private_->output_channels = 0;
 
-       if(0 != decoder->private_->file && decoder->private_->file != stdin) {
-               fclose(decoder->private_->file);
+       if(0 != decoder->private_->file) {
+               if(decoder->private_->file != stdin)
+                       fclose(decoder->private_->file);
                decoder->private_->file = 0;
        }
 
index aec6146..53b3dd5 100644 (file)
@@ -354,8 +354,9 @@ OggFLAC_API FLAC__bool OggFLAC__stream_decoder_finish(OggFLAC__StreamDecoder *de
 
        OggFLAC__ogg_decoder_aspect_finish(&decoder->protected_->ogg_decoder_aspect);
 
-       if(0 != decoder->private_->file && decoder->private_->file != stdin) {
-               fclose(decoder->private_->file);
+       if(0 != decoder->private_->file) {
+               if(decoder->private_->file != stdin)
+                       fclose(decoder->private_->file);
                decoder->private_->file = 0;
        }