Mercurial > mplayer.hg
view libmpdemux/stream_null.c @ 17566:f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.
Comments about a similar patch applied to ffmpeg:
That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter
Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- M\ns Rullg\rd
author | rathann |
---|---|
date | Thu, 09 Feb 2006 14:08:03 +0000 |
parents | 233802490b0e |
children |
line wrap: on
line source
#include "config.h" #include <stdlib.h> #include <string.h> #include "stream.h" #include "demuxer.h" #ifdef USE_TV extern char* tv_param_channel; #endif static int open_s(stream_t *stream,int mode, void* opts, int* file_format) { stream->type = STREAMTYPE_DUMMY; if(strncmp("mf://",stream->url,5) == 0) { *file_format = DEMUXER_TYPE_MF; } #ifdef USE_TV else if (strncmp("tv://",stream->url,5) == 0) { *file_format = DEMUXER_TYPE_TV; if(stream->url[5] != '\0') tv_param_channel = strdup(stream->url + 5); } #endif return 1; } stream_info_t stream_info_null = { "Null stream", "null", "Albeu", "", open_s, { #ifdef USE_TV "tv", #endif "mf", "null", NULL }, NULL, 0 // Urls are an option string };