From f461a7bd5dd3b9580d6dd8f51233dd957d728b46 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Tue, 10 Oct 2006 00:39:27 +0000 Subject: [PATCH] enable file feof callback when input is stdin --- src/libFLAC/stream_decoder.c | 8 +++----- src/libOggFLAC/stream_decoder.c | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c index f1f5fc86..40c09aa6 100644 --- a/src/libFLAC/stream_decoder.c +++ b/src/libFLAC/stream_decoder.c @@ -468,9 +468,9 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_FILE( decoder, file_read_callback_, decoder->private_->file == stdin? 0: file_seek_callback_, - decoder->private_->file == stdin? 0: file_tell_callback_,/*@@@@@@ might work for stdin*/ + decoder->private_->file == stdin? 0: file_tell_callback_, decoder->private_->file == stdin? 0: file_length_callback_, - decoder->private_->file == stdin? 0: file_eof_callback_,/*@@@@@@ might work for stdin*/ + file_eof_callback_, write_callback, metadata_callback, error_callback, @@ -2916,7 +2916,7 @@ FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *dec off_t pos; (void)client_data; - if(decoder->private_->file == stdin) /*@@@@@@ may work for stdin */ + if(decoder->private_->file == stdin) return FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED; else if((pos = ftello(decoder->private_->file)) < 0) return FLAC__STREAM_DECODER_TELL_STATUS_ERROR; @@ -2945,7 +2945,5 @@ FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_d { (void)client_data; - if(decoder->private_->file == stdin) /*@@@@@@ feof() may work for stdin */ - return false; return feof(decoder->private_->file)? true : false; } diff --git a/src/libOggFLAC/stream_decoder.c b/src/libOggFLAC/stream_decoder.c index edbfbc04..9e211cf3 100644 --- a/src/libOggFLAC/stream_decoder.c +++ b/src/libOggFLAC/stream_decoder.c @@ -271,9 +271,9 @@ OggFLAC_API FLAC__StreamDecoderInitStatus OggFLAC__stream_decoder_init_FILE( decoder, file_read_callback_, decoder->private_->file == stdin? 0: file_seek_callback_, - decoder->private_->file == stdin? 0: file_tell_callback_,/*@@@@@@ might work for stdin*/ + decoder->private_->file == stdin? 0: file_tell_callback_, decoder->private_->file == stdin? 0: file_length_callback_, - decoder->private_->file == stdin? 0: file_eof_callback_,/*@@@@@@ might work for stdin*/ + file_eof_callback_, write_callback, metadata_callback, error_callback, @@ -1030,7 +1030,7 @@ FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *sup off_t pos; (void)client_data; - if(decoder->private_->file == stdin) /*@@@@@@ may work for stdin */ + if(decoder->private_->file == stdin) return FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED; else if((pos = ftello(decoder->private_->file)) < 0) return FLAC__STREAM_DECODER_TELL_STATUS_ERROR; @@ -1061,7 +1061,5 @@ FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *super, void *client_dat OggFLAC__StreamDecoder *decoder = (OggFLAC__StreamDecoder *)super; (void)client_data; - if(decoder->private_->file == stdin) /*@@@@@@ feof() may work for stdin */ - return false; return feof(decoder->private_->file)? true : false; }