Browse Source

avutil/utils: check that size_t is unsigned

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>
tags/n2.1
Michael Niedermayer 12 years ago
parent
commit
f3d0642d35
1 changed files with 2 additions and 0 deletions
  1. +2
    -0
      libavutil/utils.c

+ 2
- 0
libavutil/utils.c View 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();


Loading…
Cancel
Save