mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng17] Merge pngvalid.c with libpng-1.6.14beta04.
This commit is contained in:
parent
d7078c52e2
commit
776d1768aa
@ -30,6 +30,20 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FEENABLEEXCEPT /* from config.h, if included */
|
||||
# include <fenv.h>
|
||||
#endif
|
||||
|
||||
#ifndef FE_DIVBYZERO
|
||||
# define FE_DIVBYZERO 0
|
||||
#endif
|
||||
#ifndef FE_INVALID
|
||||
# define FE_INVALID 0
|
||||
#endif
|
||||
#ifndef FE_OVERFLOW
|
||||
# define FE_OVERFLOW 0
|
||||
#endif
|
||||
|
||||
/* Define the following to use this test against your installed libpng, rather
|
||||
* than the one being built here:
|
||||
*/
|
||||
@ -39,13 +53,6 @@
|
||||
# include "../../png.h"
|
||||
#endif
|
||||
|
||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
||||
# ifdef HAVE_FEENABLEEXCEPT /* from config.h, if included */
|
||||
# include <fenv.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef PNG_ZLIB_HEADER
|
||||
# include PNG_ZLIB_HEADER
|
||||
#else
|
||||
@ -689,7 +696,7 @@ static png_uint_32
|
||||
random_32(void)
|
||||
{
|
||||
|
||||
for(;;)
|
||||
for (;;)
|
||||
{
|
||||
png_byte mark[4];
|
||||
png_uint_32 result;
|
||||
@ -9965,11 +9972,9 @@ static void signal_handler(int signum)
|
||||
pos = safecat(msg, sizeof msg, pos, "abort");
|
||||
break;
|
||||
|
||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
||||
case SIGFPE:
|
||||
pos = safecat(msg, sizeof msg, pos, "floating point exception");
|
||||
break;
|
||||
#endif
|
||||
|
||||
case SIGILL:
|
||||
pos = safecat(msg, sizeof msg, pos, "illegal instruction");
|
||||
@ -10035,21 +10040,18 @@ int main(int argc, char **argv)
|
||||
|
||||
/* Add appropriate signal handlers, just the ANSI specified ones: */
|
||||
signal(SIGABRT, signal_handler);
|
||||
signal(SIGFPE, signal_handler);
|
||||
signal(SIGILL, signal_handler);
|
||||
signal(SIGINT, signal_handler);
|
||||
signal(SIGSEGV, signal_handler);
|
||||
signal(SIGTERM, signal_handler);
|
||||
|
||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
||||
signal(SIGFPE, signal_handler);
|
||||
|
||||
# ifdef HAVE_FEENABLEEXCEPT
|
||||
#ifdef HAVE_FEENABLEEXCEPT
|
||||
/* Only required to enable FP exceptions on platforms where they start off
|
||||
* disabled; this is not necessary but if it is not done pngvalid will likely
|
||||
* end up ignoring FP conditions that other platforms fault.
|
||||
*/
|
||||
feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
modifier_init(&pm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user