[PATCH 2/3] Make print_error() use strerror() in case av_strerror() fails.

Stefano Sabatini stefano.sabatini-lala
Mon May 3 23:36:21 CEST 2010


Should provide a meaningful error message for systems which do not
support strerror_r().

Fix roundup issue #1894.
---
 cmdutils.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/cmdutils.c b/cmdutils.c
index e6efc49..d02b36e 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -292,6 +292,7 @@ void set_context_opts(void *ctx, void *opts_ctx, int flags)
 void print_error(const char *filename, int err)
 {
     char errbuf[128];
+    const char *errbuf_ptr = errbuf;
 
     switch(err) {
 #if CONFIG_NETWORK
@@ -300,8 +301,9 @@ void print_error(const char *filename, int err)
         break;
 #endif
     default:
-        av_strerror(err, errbuf, sizeof(errbuf));
-        fprintf(stderr, "%s: %s\n", filename, errbuf);
+        if (av_strerror(err, errbuf, sizeof(errbuf)) < 0)
+            errbuf_ptr = strerror(AVUNERROR(err));
+        fprintf(stderr, "%s: %s\n", filename, errbuf_ptr);
     }
 }
 
-- 
1.7.0


--mP3DRpeJDSE+ciuQ--



More information about the ffmpeg-devel mailing list