Commit 8a052fe3 authored by Filip Roséen's avatar Filip Roséen Committed by Rémi Denis-Courmont

input/decoder: return-statement with expression is ill-formed

Having written too much C++ in my days, I wrongfully assumed that it
was legal to have a return-statement with an expression in a function
returning void, as long as the expression would yield void, in C (as
it is in C++).

However, according to the C99 ISO Standard (section 6.8.6.4p1) this is
not the case.

> [ :: 6.8.6.4p1 :: ]
>
> A return statement with an expression shall not appear in a function
> whose return type is void. A return statement without an expression
> shall only appear in a function whose return type is void.
Signed-off-by: Rémi Denis-Courmont's avatarRémi Denis-Courmont <remi@remlab.net>
parent ea4edfb6
......@@ -1330,14 +1330,17 @@ static void DecoderProcess( decoder_t *p_dec, block_t *p_block )
#ifdef ENABLE_SOUT
if( p_owner->p_sout != NULL )
return DecoderProcessSout( p_dec, p_block );
{
DecoderProcessSout( p_dec, p_block );
return;
}
#endif
switch( p_dec->fmt_out.i_cat )
{
case VIDEO_ES: return DecoderProcessVideo( p_dec, p_block );
case AUDIO_ES: return DecoderProcessAudio( p_dec, p_block );
case SPU_ES: return DecoderProcessSpu( p_dec, p_block );
case VIDEO_ES: DecoderProcessVideo( p_dec, p_block ); return;
case AUDIO_ES: DecoderProcessAudio( p_dec, p_block ); return;
case SPU_ES: DecoderProcessSpu( p_dec, p_block ); return;
default:
msg_Err( p_dec, "unknown ES format" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment