summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2010-05-03 21:56:21 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2010-05-03 21:56:21 +0000
commit441ea0ce91d9df7e653c7a9598a62f230cf808c0 (patch)
tree43e3af316d02d84b3f0c43332679c09296cfe1d9 /libavutil
parent17d5959998c4f523abb4fde0dd0bb7df562219d8 (diff)
Make av_strerror() print an error message mentioning the error code
number if strerror_r() did not succeed for whatever reason. This avoids the need for the application to fill the string in case strerror_r() fails, for example because the error code is not known. Originally committed as revision 23015 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/error.c4
-rw-r--r--libavutil/error.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/libavutil/error.c b/libavutil/error.c
index a1a0b87a9e..3dd38a351c 100644
--- a/libavutil/error.c
+++ b/libavutil/error.c
@@ -36,9 +36,9 @@ int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
} else {
#if HAVE_STRERROR_R
ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size);
-#else
- snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
#endif
+ if (!HAVE_STRERROR_R || ret < 0)
+ snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
}
return ret;
diff --git a/libavutil/error.h b/libavutil/error.h
index abf9a57d70..a1b9ccc050 100644
--- a/libavutil/error.h
+++ b/libavutil/error.h
@@ -60,7 +60,8 @@
/**
* Puts a description of the AVERROR code errnum in errbuf.
* In case of failure the global variable errno is set to indicate the
- * error.
+ * error. Even in case of failure av_strerror() will print a generic
+ * error message indicating the errnum provided to errbuf.
*
* @param errbuf_size the size in bytes of errbuf
* @return 0 on success, a negative value otherwise