avutil/utils: check that size_t is unsigned
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 26 Oct 2013 20:08:06 +0000 (22:08 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 26 Oct 2013 20:08:06 +0000 (22:08 +0200)
ANSI/ISO C guarantee this, yet there is evidence that there exist
platforms where its not so.
See: http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_30.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/utils.c

index eb87c90..dc84162 100644 (file)
@@ -40,6 +40,8 @@ unsigned avutil_version(void)
     av_assert0(LIBAVUTIL_VERSION_MICRO >= 100);
     av_assert0(HAVE_MMX2 == HAVE_MMXEXT);
 
+    av_assert0(((size_t)-1) > 0); // C gurantees this but if false on a platform we care about revert at least b284e1ffe343d6697fb950d1ee517bafda8a9844
+
     if (av_sat_dadd32(1, 2) != 5) {
         av_log(NULL, AV_LOG_FATAL, "Libavutil has been build with a broken binutils, please upgrade binutils and rebuild\n");
         abort();