diff --git a/program/src/pngsize.c b/program/src/pngsize.c
index b43dd34f0441f5603ca5003a0ec39fb0a39266c6..057ce0933a5ccdf5f11b8aa069df531ead0f574b 100644 (file)
--- a/program/src/pngsize.c
+++ b/program/src/pngsize.c
/*****************************************************************************
- * RRDtool 1.2.8 Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.30 Copyright by Tobi Oetiker, 1997-2009
*****************************************************************************
* pngsize.c determine the size of a PNG image
*****************************************************************************/
/* this is to make compile on aix work since they seem to define jmpbuf
to be _jmpbuf which breaks compilation */
+
+#ifndef png_jmpbuf
+#ifdef PNG_SETJMP_SUPPORTED
+# define png_jmpbuf(png_ptr) ((png_ptr)->PNG_jmpbuf)
+#else
#ifdef jmpbuf
#undef jmpbuf
+#endif
+# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
+#endif
#endif
- if (setjmp(png_read_ptr->jmpbuf)){
+ if (setjmp(png_jmpbuf(png_read_ptr))){
png_destroy_read_struct(&png_read_ptr, &info_ptr, (png_infopp)NULL);
return 0;
}