Make av_strerror() return -1 even in the case when av_strerror_r() is
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Wed, 5 May 2010 21:44:47 +0000 (21:44 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Wed, 5 May 2010 21:44:47 +0000 (21:44 +0000)
not defined.

This allows applications to check if av_strerror() cannot provide a
meaningful representation for the provided error code, without having
to actually check the filled string.

Originally committed as revision 23031 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/avutil.h
libavutil/error.c
libavutil/error.h

index b2c4928..e9e07b9 100644 (file)
@@ -41,7 +41,7 @@
 
 #define LIBAVUTIL_VERSION_MAJOR 50
 #define LIBAVUTIL_VERSION_MINOR 15
 
 #define LIBAVUTIL_VERSION_MAJOR 50
 #define LIBAVUTIL_VERSION_MINOR 15
-#define LIBAVUTIL_VERSION_MICRO  0
+#define LIBAVUTIL_VERSION_MICRO  1
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \
index 3dd38a3..b6d6019 100644 (file)
@@ -36,8 +36,10 @@ 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 {
 #if HAVE_STRERROR_R
         ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size);
+#else
+        ret = -1;
 #endif
 #endif
-        if (!HAVE_STRERROR_R || ret < 0)
+        if (ret < 0)
             snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
     }
 
             snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
     }
 
index a1b9ccc..13a9a35 100644 (file)
@@ -64,7 +64,8 @@
  * error message indicating the errnum provided to errbuf.
  *
  * @param errbuf_size the size in bytes of errbuf
  * 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
+ * @return 0 on success, a negative value if a description for errnum
+ * cannot be found
  */
 int av_strerror(int errnum, char *errbuf, size_t errbuf_size);
 
  */
 int av_strerror(int errnum, char *errbuf, size_t errbuf_size);