diff --git a/src/pngsize.c b/src/pngsize.c
index c9254d48f65f915ed315848df78939effd9f1dc6..e4962b43fe8deaee8dc642b7012a8b36d06e186a 100644 (file)
--- a/src/pngsize.c
+++ b/src/pngsize.c
/*****************************************************************************
- * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
+ * RRDtool 1.3.8 Copyright by Tobi Oetiker, 1997-2009
*****************************************************************************
* pngsize.c determine the size of a PNG image
*****************************************************************************/
#include <png.h>
#include "rrd_tool.h"
-int
-PngSize(FILE *fd, long *width, long *height)
+int PngSize(
+ FILE * fd,
+ long *width,
+ long *height)
{
- png_structp png_read_ptr =
- png_create_read_struct(PNG_LIBPNG_VER_STRING,
- (png_voidp)NULL,
- /* we would need to point to error handlers
- here to do it properly */
- (png_error_ptr)NULL, (png_error_ptr)NULL);
-
- png_infop info_ptr = png_create_info_struct(png_read_ptr);
-
- (*width)=0;
- (*height)=0;
+ png_structp png_read_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
+ (png_voidp) NULL,
+ /* we would need to point to error handlers
+ here to do it properly */
+ (png_error_ptr) NULL,
+ (png_error_ptr) NULL);
+
+ png_infop info_ptr = png_create_info_struct(png_read_ptr);
+
+ (*width) = 0;
+ (*height) = 0;
/* 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
-
-#ifndef png_jmpbuf
# 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;
- }
-
- png_init_io(png_read_ptr,fd);
- png_read_info(png_read_ptr, info_ptr);
- (*width)=png_get_image_width(png_read_ptr, info_ptr);
- (*height)=png_get_image_height(png_read_ptr, info_ptr);
-
- png_destroy_read_struct(&png_read_ptr, &info_ptr, NULL);
- if (*width >0 && *height >0)
- return 1;
- else
- return 0;
+ if (setjmp(png_jmpbuf(png_read_ptr))) {
+ png_destroy_read_struct(&png_read_ptr, &info_ptr, (png_infopp) NULL);
+ return 0;
+ }
+
+ png_init_io(png_read_ptr, fd);
+ png_read_info(png_read_ptr, info_ptr);
+ (*width) = png_get_image_width(png_read_ptr, info_ptr);
+ (*height) = png_get_image_height(png_read_ptr, info_ptr);
+
+ png_destroy_read_struct(&png_read_ptr, &info_ptr, NULL);
+ if (*width > 0 && *height > 0)
+ return 1;
+ else
+ return 0;
}
-
-
-