aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-13 18:54:10 +1000
committerDavid Walter Seikel2013-01-13 18:54:10 +1000
commit959831f4ef5a3e797f576c3de08cd65032c997ad (patch)
treee7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c
parentAdd info about changes to Irrlicht. (diff)
downloadSledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c')
-rw-r--r--libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c352
1 files changed, 176 insertions, 176 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c b/libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c
index d0d9d8a..e9c381c 100644
--- a/libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c
+++ b/libraries/irrlicht-1.8/source/Irrlicht/libpng/pngrio.c
@@ -1,176 +1,176 @@
1 1
2/* pngrio.c - functions for data input 2/* pngrio.c - functions for data input
3 * 3 *
4 * Last changed in libpng 1.5.0 [January 6, 2011] 4 * Last changed in libpng 1.5.0 [January 6, 2011]
5 * Copyright (c) 1998-2011 Glenn Randers-Pehrson 5 * Copyright (c) 1998-2011 Glenn Randers-Pehrson
6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) 6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) 7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
8 * 8 *
9 * This code is released under the libpng license. 9 * This code is released under the libpng license.
10 * For conditions of distribution and use, see the disclaimer 10 * For conditions of distribution and use, see the disclaimer
11 * and license in png.h 11 * and license in png.h
12 * 12 *
13 * This file provides a location for all input. Users who need 13 * This file provides a location for all input. Users who need
14 * special handling are expected to write a function that has the same 14 * special handling are expected to write a function that has the same
15 * arguments as this and performs a similar function, but that possibly 15 * arguments as this and performs a similar function, but that possibly
16 * has a different input method. Note that you shouldn't change this 16 * has a different input method. Note that you shouldn't change this
17 * function, but rather write a replacement function and then make 17 * function, but rather write a replacement function and then make
18 * libpng use it at run time with png_set_read_fn(...). 18 * libpng use it at run time with png_set_read_fn(...).
19 */ 19 */
20 20
21#include "pngpriv.h" 21#include "pngpriv.h"
22 22
23#ifdef PNG_READ_SUPPORTED 23#ifdef PNG_READ_SUPPORTED
24 24
25/* Read the data from whatever input you are using. The default routine 25/* Read the data from whatever input you are using. The default routine
26 * reads from a file pointer. Note that this routine sometimes gets called 26 * reads from a file pointer. Note that this routine sometimes gets called
27 * with very small lengths, so you should implement some kind of simple 27 * with very small lengths, so you should implement some kind of simple
28 * buffering if you are using unbuffered reads. This should never be asked 28 * buffering if you are using unbuffered reads. This should never be asked
29 * to read more then 64K on a 16 bit machine. 29 * to read more then 64K on a 16 bit machine.
30 */ 30 */
31void /* PRIVATE */ 31void /* PRIVATE */
32png_read_data(png_structp png_ptr, png_bytep data, png_size_t length) 32png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
33{ 33{
34 png_debug1(4, "reading %d bytes", (int)length); 34 png_debug1(4, "reading %d bytes", (int)length);
35 35
36 if (png_ptr->read_data_fn != NULL) 36 if (png_ptr->read_data_fn != NULL)
37 (*(png_ptr->read_data_fn))(png_ptr, data, length); 37 (*(png_ptr->read_data_fn))(png_ptr, data, length);
38 38
39 else 39 else
40 png_error(png_ptr, "Call to NULL read function"); 40 png_error(png_ptr, "Call to NULL read function");
41} 41}
42 42
43#ifdef PNG_STDIO_SUPPORTED 43#ifdef PNG_STDIO_SUPPORTED
44/* This is the function that does the actual reading of data. If you are 44/* This is the function that does the actual reading of data. If you are
45 * not reading from a standard C stream, you should create a replacement 45 * not reading from a standard C stream, you should create a replacement
46 * read_data function and use it at run time with png_set_read_fn(), rather 46 * read_data function and use it at run time with png_set_read_fn(), rather
47 * than changing the library. 47 * than changing the library.
48 */ 48 */
49# ifndef USE_FAR_KEYWORD 49# ifndef USE_FAR_KEYWORD
50void PNGCBAPI 50void PNGCBAPI
51png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length) 51png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
52{ 52{
53 png_size_t check; 53 png_size_t check;
54 54
55 if (png_ptr == NULL) 55 if (png_ptr == NULL)
56 return; 56 return;
57 57
58 /* fread() returns 0 on error, so it is OK to store this in a png_size_t 58 /* fread() returns 0 on error, so it is OK to store this in a png_size_t
59 * instead of an int, which is what fread() actually returns. 59 * instead of an int, which is what fread() actually returns.
60 */ 60 */
61 check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr); 61 check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
62 62
63 if (check != length) 63 if (check != length)
64 png_error(png_ptr, "Read Error"); 64 png_error(png_ptr, "Read Error");
65} 65}
66# else 66# else
67/* This is the model-independent version. Since the standard I/O library 67/* This is the model-independent version. Since the standard I/O library
68 can't handle far buffers in the medium and small models, we have to copy 68 can't handle far buffers in the medium and small models, we have to copy
69 the data. 69 the data.
70*/ 70*/
71 71
72#define NEAR_BUF_SIZE 1024 72#define NEAR_BUF_SIZE 1024
73#define MIN(a,b) (a <= b ? a : b) 73#define MIN(a,b) (a <= b ? a : b)
74 74
75static void PNGCBAPI 75static void PNGCBAPI
76png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length) 76png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
77{ 77{
78 png_size_t check; 78 png_size_t check;
79 png_byte *n_data; 79 png_byte *n_data;
80 png_FILE_p io_ptr; 80 png_FILE_p io_ptr;
81 81
82 if (png_ptr == NULL) 82 if (png_ptr == NULL)
83 return; 83 return;
84 84
85 /* Check if data really is near. If so, use usual code. */ 85 /* Check if data really is near. If so, use usual code. */
86 n_data = (png_byte *)CVT_PTR_NOCHECK(data); 86 n_data = (png_byte *)CVT_PTR_NOCHECK(data);
87 io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr); 87 io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
88 88
89 if ((png_bytep)n_data == data) 89 if ((png_bytep)n_data == data)
90 { 90 {
91 check = fread(n_data, 1, length, io_ptr); 91 check = fread(n_data, 1, length, io_ptr);
92 } 92 }
93 93
94 else 94 else
95 { 95 {
96 png_byte buf[NEAR_BUF_SIZE]; 96 png_byte buf[NEAR_BUF_SIZE];
97 png_size_t read, remaining, err; 97 png_size_t read, remaining, err;
98 check = 0; 98 check = 0;
99 remaining = length; 99 remaining = length;
100 100
101 do 101 do
102 { 102 {
103 read = MIN(NEAR_BUF_SIZE, remaining); 103 read = MIN(NEAR_BUF_SIZE, remaining);
104 err = fread(buf, 1, read, io_ptr); 104 err = fread(buf, 1, read, io_ptr);
105 png_memcpy(data, buf, read); /* copy far buffer to near buffer */ 105 png_memcpy(data, buf, read); /* copy far buffer to near buffer */
106 106
107 if (err != read) 107 if (err != read)
108 break; 108 break;
109 109
110 else 110 else
111 check += err; 111 check += err;
112 112
113 data += read; 113 data += read;
114 remaining -= read; 114 remaining -= read;
115 } 115 }
116 while (remaining != 0); 116 while (remaining != 0);
117 } 117 }
118 118
119 if ((png_uint_32)check != (png_uint_32)length) 119 if ((png_uint_32)check != (png_uint_32)length)
120 png_error(png_ptr, "read Error"); 120 png_error(png_ptr, "read Error");
121} 121}
122# endif 122# endif
123#endif 123#endif
124 124
125/* This function allows the application to supply a new input function 125/* This function allows the application to supply a new input function
126 * for libpng if standard C streams aren't being used. 126 * for libpng if standard C streams aren't being used.
127 * 127 *
128 * This function takes as its arguments: 128 * This function takes as its arguments:
129 * 129 *
130 * png_ptr - pointer to a png input data structure 130 * png_ptr - pointer to a png input data structure
131 * 131 *
132 * io_ptr - pointer to user supplied structure containing info about 132 * io_ptr - pointer to user supplied structure containing info about
133 * the input functions. May be NULL. 133 * the input functions. May be NULL.
134 * 134 *
135 * read_data_fn - pointer to a new input function that takes as its 135 * read_data_fn - pointer to a new input function that takes as its
136 * arguments a pointer to a png_struct, a pointer to 136 * arguments a pointer to a png_struct, a pointer to
137 * a location where input data can be stored, and a 32-bit 137 * a location where input data can be stored, and a 32-bit
138 * unsigned int that is the number of bytes to be read. 138 * unsigned int that is the number of bytes to be read.
139 * To exit and output any fatal error messages the new write 139 * To exit and output any fatal error messages the new write
140 * function should call png_error(png_ptr, "Error msg"). 140 * function should call png_error(png_ptr, "Error msg").
141 * May be NULL, in which case libpng's default function will 141 * May be NULL, in which case libpng's default function will
142 * be used. 142 * be used.
143 */ 143 */
144void PNGAPI 144void PNGAPI
145png_set_read_fn(png_structp png_ptr, png_voidp io_ptr, 145png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
146 png_rw_ptr read_data_fn) 146 png_rw_ptr read_data_fn)
147{ 147{
148 if (png_ptr == NULL) 148 if (png_ptr == NULL)
149 return; 149 return;
150 150
151 png_ptr->io_ptr = io_ptr; 151 png_ptr->io_ptr = io_ptr;
152 152
153#ifdef PNG_STDIO_SUPPORTED 153#ifdef PNG_STDIO_SUPPORTED
154 if (read_data_fn != NULL) 154 if (read_data_fn != NULL)
155 png_ptr->read_data_fn = read_data_fn; 155 png_ptr->read_data_fn = read_data_fn;
156 156
157 else 157 else
158 png_ptr->read_data_fn = png_default_read_data; 158 png_ptr->read_data_fn = png_default_read_data;
159#else 159#else
160 png_ptr->read_data_fn = read_data_fn; 160 png_ptr->read_data_fn = read_data_fn;
161#endif 161#endif
162 162
163 /* It is an error to write to a read device */ 163 /* It is an error to write to a read device */
164 if (png_ptr->write_data_fn != NULL) 164 if (png_ptr->write_data_fn != NULL)
165 { 165 {
166 png_ptr->write_data_fn = NULL; 166 png_ptr->write_data_fn = NULL;
167 png_warning(png_ptr, 167 png_warning(png_ptr,
168 "Can't set both read_data_fn and write_data_fn in the" 168 "Can't set both read_data_fn and write_data_fn in the"
169 " same structure"); 169 " same structure");
170 } 170 }
171 171
172#ifdef PNG_WRITE_FLUSH_SUPPORTED 172#ifdef PNG_WRITE_FLUSH_SUPPORTED
173 png_ptr->output_flush_fn = NULL; 173 png_ptr->output_flush_fn = NULL;
174#endif 174#endif
175} 175}
176#endif /* PNG_READ_SUPPORTED */ 176#endif /* PNG_READ_SUPPORTED */