$OpenBSD: patch-source_m-png_c,v 1.1 2011/07/08 20:38:01 naddy Exp $ Fix build with png-1.5. --- source/m-png.c.orig Tue Jul 5 17:14:51 2011 +++ source/m-png.c Tue Jul 5 17:19:24 2011 @@ -65,7 +65,7 @@ static void MdcPngErr(png_structp png_ptr, png_const_c if (!png_ptr) return; - longjmp(png_ptr->jmpbuf, 1); + png_longjmp(png_ptr, 1); } static void MdcPngWarn(png_structp png_ptr, png_const_charp warning_msg) @@ -95,11 +95,12 @@ char *MdcReadPNG(FILEINFO *fi) { png_structp png_ptr; png_infop info_ptr; + png_textp text_ptr; png_uint_32 width, height, rowbytes; png_colorp palette; png_bytepp row_pointers; Uint32 i, commentsize; - int bit_depth, color_type, transform, num_palette; + int bit_depth, color_type, transform, num_palette, num_text; Uint8 *imgRGB, *pbuf; IMG_DATA *id; @@ -161,21 +162,21 @@ char *MdcReadPNG(FILEINFO *fi) } /* get comment */ - if(info_ptr->num_text > 0) { + if(png_get_text(png_ptr, info_ptr, &text_ptr, &num_text) > 0) { commentsize = 1; - for(i = 0; i < info_ptr->num_text; i++) - commentsize += strlen(info_ptr->text[i].key) + 1 + - info_ptr->text[i].text_length + 2; + for(i = 0; i < num_text; i++) + commentsize += strlen(text_ptr[i].key) + 1 + + text_ptr[i].text_length + 2; if ((fi->comment = malloc(commentsize)) == NULL) { MdcPngWarn(png_ptr,"PNG Can't malloc comment string"); }else{ fi->comment[0] = '\0'; - for (i = 0; i < info_ptr->num_text; i++) { - strcat(fi->comment, info_ptr->text[i].key); + for (i = 0; i < num_text; i++) { + strcat(fi->comment, text_ptr[i].key); strcat(fi->comment, "::"); - strcat(fi->comment, info_ptr->text[i].text); + strcat(fi->comment, text_ptr[i].text); strcat(fi->comment, "\n"); } }