[FFmpeg-cvslog] fftools/opt_common: replace report_and_exit() with returning an error code

Anton Khirnov git at videolan.org
Thu Jul 20 21:57:48 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Jul 14 18:26:43 2023 +0200| [411e1833601e542b28681feab23ef4754644eb47] | committer: Anton Khirnov

fftools/opt_common: replace report_and_exit() with returning an error code

Remove report_and_exit(), as it has no more users.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=411e1833601e542b28681feab23ef4754644eb47
---

 fftools/cmdutils.c   |  6 ------
 fftools/cmdutils.h   | 11 -----------
 fftools/opt_common.c | 10 +++++++---
 3 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index 45e93ab196..ed507a8f2e 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -90,12 +90,6 @@ void register_exit(void (*cb)(int ret))
     program_exit = cb;
 }
 
-void report_and_exit(int ret)
-{
-    av_log(NULL, AV_LOG_FATAL, "%s\n", av_err2str(ret));
-    exit_program(AVUNERROR(ret));
-}
-
 void exit_program(int ret)
 {
     if (program_exit)
diff --git a/fftools/cmdutils.h b/fftools/cmdutils.h
index 56b7f130af..6d4708f32e 100644
--- a/fftools/cmdutils.h
+++ b/fftools/cmdutils.h
@@ -54,17 +54,6 @@ extern int hide_banner;
  */
 void register_exit(void (*cb)(int ret));
 
-/**
- * Reports an error corresponding to the provided
- * AVERROR code and calls exit_program() with the
- * corresponding POSIX error code.
- * @note ret must be an AVERROR-value of a POSIX error code
- *       (i.e. AVERROR(EFOO) and not AVERROR_FOO).
- *       library functions can return both, so call this only
- *       with AVERROR(EFOO) of your own.
- */
-void report_and_exit(int ret) av_noreturn;
-
 /**
  * Wraps exit with a program-specific cleanup routine.
  */
diff --git a/fftools/opt_common.c b/fftools/opt_common.c
index 39258bb46c..913932c914 100644
--- a/fftools/opt_common.c
+++ b/fftools/opt_common.c
@@ -632,7 +632,7 @@ static int compare_codec_desc(const void *a, const void *b)
            strcmp((*da)->name, (*db)->name);
 }
 
-static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
+static int get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
 {
     const AVCodecDescriptor *desc = NULL;
     const AVCodecDescriptor **codecs;
@@ -641,7 +641,7 @@ static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
     while ((desc = avcodec_descriptor_next(desc)))
         nb_codecs++;
     if (!(codecs = av_calloc(nb_codecs, sizeof(*codecs))))
-        report_and_exit(AVERROR(ENOMEM));
+        return AVERROR(ENOMEM);
     desc = NULL;
     while ((desc = avcodec_descriptor_next(desc)))
         codecs[i++] = desc;
@@ -666,7 +666,11 @@ static char get_media_type_char(enum AVMediaType type)
 int show_codecs(void *optctx, const char *opt, const char *arg)
 {
     const AVCodecDescriptor **codecs;
-    unsigned i, nb_codecs = get_codecs_sorted(&codecs);
+    unsigned i;
+    int nb_codecs = get_codecs_sorted(&codecs);
+
+    if (nb_codecs < 0)
+        return nb_codecs;
 
     printf("Codecs:\n"
            " D..... = Decoding supported\n"



More information about the ffmpeg-cvslog mailing list