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
This commit is contained in:
Stefano Sabatini 2010-05-03 21:56:21 +00:00
parent 17d5959998
commit 441ea0ce91
2 changed files with 4 additions and 3 deletions

View File

@ -36,9 +36,9 @@ int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
} else { } else {
#if HAVE_STRERROR_R #if HAVE_STRERROR_R
ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size); ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size);
#else
snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
#endif #endif
if (!HAVE_STRERROR_R || ret < 0)
snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
} }
return ret; return ret;

View File

@ -60,7 +60,8 @@
/** /**
* Puts a description of the AVERROR code errnum in errbuf. * Puts a description of the AVERROR code errnum in errbuf.
* In case of failure the global variable errno is set to indicate the * 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 * @param errbuf_size the size in bytes of errbuf
* @return 0 on success, a negative value otherwise * @return 0 on success, a negative value otherwise