diff --git a/program/src/pngsize.c b/program/src/pngsize.c
index 136e36874387590e95c4b0c786801e7b22669411..057ce0933a5ccdf5f11b8aa069df531ead0f574b 100644 (file)
--- a/program/src/pngsize.c
+++ b/program/src/pngsize.c
/*****************************************************************************
- * RRDtool 1.2.15 Copyright by Tobi Oetiker, 1997-2006
+ * 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;
}