1 /*****************************************************************************
2 * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007
3 *****************************************************************************
4 * pngsize.c determine the size of a PNG image
5 *****************************************************************************/
15 png_structp png_read_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
17 /* we would need to point to error handlers
18 here to do it properly */
20 (png_error_ptr) NULL);
22 png_infop info_ptr = png_create_info_struct(png_read_ptr);
27 /* this is to make compile on aix work since they seem to define jmpbuf
28 to be _jmpbuf which breaks compilation */
34 if (setjmp(png_read_ptr->jmpbuf)) {
35 png_destroy_read_struct(&png_read_ptr, &info_ptr, (png_infopp) NULL);
39 png_init_io(png_read_ptr, fd);
40 png_read_info(png_read_ptr, info_ptr);
41 (*width) = png_get_image_width(png_read_ptr, info_ptr);
42 (*height) = png_get_image_height(png_read_ptr, info_ptr);
44 png_destroy_read_struct(&png_read_ptr, &info_ptr, NULL);
45 if (*width > 0 && *height > 0)