Mercurial > libavutil.hg
changeset 915:a1a27468a9c5 libavutil
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.
author | stefano |
---|---|
date | Mon, 03 May 2010 21:56:21 +0000 |
parents | 66b39cb91dde |
children | 2860cc0b5562 |
files | error.c error.h |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/error.c Thu Apr 29 14:41:20 2010 +0000 +++ b/error.c Mon May 03 21:56:21 2010 +0000 @@ -36,9 +36,9 @@ } 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;
--- a/error.h Thu Apr 29 14:41:20 2010 +0000 +++ b/error.h Mon May 03 21:56:21 2010 +0000 @@ -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