diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2011-06-04 23:54:19 +0200 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2011-06-05 13:21:02 +0200 |
commit | 96f931adf75967dc86fbf3ee21517e539d0a6e50 (patch) | |
tree | 83b2cb96c70525ef2801162e20fac07466ff45a7 | |
parent | 0d0fdb0ad59c0533fb91dad00379f762573ce541 (diff) | |
download | ffmpeg-96f931adf75967dc86fbf3ee21517e539d0a6e50.tar.gz |
cmdutils: change the signature of the function argument in parse_options()
This is required for a pending simplification.
-rw-r--r-- | cmdutils.c | 8 | ||||
-rw-r--r-- | cmdutils.h | 2 | ||||
-rw-r--r-- | ffmpeg.c | 3 | ||||
-rw-r--r-- | ffplay.c | 3 | ||||
-rw-r--r-- | ffprobe.c | 3 |
5 files changed, 12 insertions, 7 deletions
diff --git a/cmdutils.c b/cmdutils.c index 2bc6b7417f..2bf4e03ac8 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -217,7 +217,7 @@ static inline void prepare_app_arguments(int *argc_ptr, char ***argv_ptr) #endif /* WIN32 && !__MINGW32CE__ */ void parse_options(int argc, char **argv, const OptionDef *options, - void (* parse_arg_function)(const char*)) + int (* parse_arg_function)(const char *opt, const char *arg)) { const char *opt, *arg; int optindex, handleoptions=1; @@ -284,8 +284,10 @@ unknown_opt: if(po->flags & OPT_EXIT) exit(0); } else { - if (parse_arg_function) - parse_arg_function(opt); + if (parse_arg_function) { + if (parse_arg_function(NULL, opt) < 0) + exit(1); + } } } } diff --git a/cmdutils.h b/cmdutils.h index eca98a3cf4..171ef3cb5b 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -151,7 +151,7 @@ void show_help_options(const OptionDef *options, const char *msg, int mask, int * not have to be processed. */ void parse_options(int argc, char **argv, const OptionDef *options, - void (* parse_arg_function)(const char*)); + int (* parse_arg_function)(const char *opt, const char *arg)); void set_context_opts(void *ctx, void *opts_ctx, int flags, AVCodec *codec); @@ -3855,7 +3855,7 @@ static int opt_streamid(const char *opt, const char *arg) return 0; } -static void opt_output_file(const char *filename) +static int opt_output_file(const char *opt, const char *filename) { AVFormatContext *oc; int err, use_video, use_audio, use_subtitle, use_data; @@ -3984,6 +3984,7 @@ static void opt_output_file(const char *filename) av_freep(&forced_key_frames); uninit_opts(); init_opts(); + return 0; } /* same option as mencoder */ @@ -3006,7 +3006,7 @@ static void show_help(void) ); } -static void opt_input_file(const char *filename) +static int opt_input_file(const char *opt, const char *filename) { if (input_filename) { fprintf(stderr, "Argument '%s' provided as input filename, but '%s' was already specified.\n", @@ -3016,6 +3016,7 @@ static void opt_input_file(const char *filename) if (!strcmp(filename, "-")) filename = "pipe:"; input_filename = filename; + return 0; } /* Called from the main */ @@ -339,7 +339,7 @@ static int opt_format(const char *opt, const char *arg) return 0; } -static void opt_input_file(const char *arg) +static int opt_input_file(const char *opt, const char *arg) { if (input_filename) { fprintf(stderr, "Argument '%s' provided as input filename, but '%s' was already specified.\n", @@ -349,6 +349,7 @@ static void opt_input_file(const char *arg) if (!strcmp(arg, "-")) arg = "pipe:"; input_filename = arg; + return 0; } static void show_help(void) |