diff --git a/program/src/pngsize.c b/program/src/pngsize.c
index 3d0468fcca348d71796cfbaee4159ba8e07fad2a..057ce0933a5ccdf5f11b8aa069df531ead0f574b 100644 (file)
--- a/program/src/pngsize.c
+++ b/program/src/pngsize.c
/*****************************************************************************
- * RRDtool 1.2rc3 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
*****************************************************************************/
(*width)=0;
(*height)=0;
- if (setjmp(png_read_ptr->jmpbuf)){
+/* 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_jmpbuf(png_read_ptr))){
png_destroy_read_struct(&png_read_ptr, &info_ptr, (png_infopp)NULL);
return 0;
}