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
release/0.6
Stefano Sabatini 15 years ago
parent 17d5959998
commit 441ea0ce91
  1. 4
      libavutil/error.c
  2. 3
      libavutil/error.h

@ -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;

@ -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

Loading…
Cancel
Save