#undef jmpbuf
#endif
- if (setjmp(png_read_ptr->jmpbuf)) {
+#ifndef png_jmpbuf
+# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
+#endif
+
+ if (setjmp(png_jmpbuf(png_read_ptr))) {
png_destroy_read_struct(&png_read_ptr, &info_ptr, (png_infopp) NULL);
return 0;
}