summaryrefslogtreecommitdiff
path: root/geography/gdal-lib/patches/patch-ab
blob: 16966b2eed9c6fffd45db954ee84fc54e95b2f73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$NetBSD: patch-ab,v 1.9 2011/02/10 03:45:09 brook Exp $

Fix build with png-1.5.
http://trac.osgeo.org/gdal/ticket/3914

--- frmts/png/pngdataset.cpp.orig	2011-01-13 22:19:04.000000000 -0700
+++ frmts/png/pngdataset.cpp	2011-02-06 12:43:09.000000000 -0700
@@ -1315,7 +1315,7 @@
     * instead of an int, which is what fread() actually returns.
     */
    check = (png_size_t)VSIFReadL(data, (png_size_t)1, length,
-                                 (VSILFILE*)png_ptr->io_ptr);
+                                 (VSILFILE*)png_get_io_ptr(png_ptr));
 
    if (check != length)
       png_error(png_ptr, "Read Error");
@@ -1330,7 +1330,7 @@
 {
    png_uint_32 check;
 
-   check = VSIFWriteL(data, 1, length, (VSILFILE*)(png_ptr->io_ptr));
+   check = VSIFWriteL(data, 1, length, (VSILFILE*)(png_get_io_ptr(png_ptr)));
 
    if (check != length)
       png_error(png_ptr, "Write Error");
@@ -1341,7 +1341,7 @@
 /************************************************************************/
 static void png_vsi_flush(png_structp png_ptr)
 {
-    VSIFFlushL( (VSILFILE*)(png_ptr->io_ptr) );
+    VSIFFlushL( (VSILFILE*)(png_get_io_ptr(png_ptr)) );
 }
 
 /************************************************************************/
@@ -1357,7 +1357,7 @@
     // libpng is generally not built as C++ and so won't honour unwind
     // semantics.  Ugg. 
 
-    jmp_buf* psSetJmpContext = (jmp_buf*) png_ptr->error_ptr;
+    jmp_buf* psSetJmpContext = (jmp_buf*) png_get_error_ptr(png_ptr);
     if (psSetJmpContext)
     {
         longjmp( *psSetJmpContext, 1 );