{
byte *buffer;
int size, offset;
-}
-pngBuffer_t;
+} pngBuffer_t;
void PNGReadData( png_struct *png, png_byte *buffer, png_size_t size ){
pngBuffer_t *pb = (pngBuffer_t*) png_get_io_ptr( png );
static void LoadPNGBuffer( byte *buffer, int size, byte **pixels, int *width, int *height ){
png_struct *png;
png_info *info, *end;
- pngBuffer_t *pb = (pngBuffer_t*) png_get_io_ptr( png );
+ pngBuffer_t pb;
int i, bitDepth, colorType, channels;
png_uint_32 w, h;
byte **rowPointers;
}
/* set read callback */
- pb->buffer = buffer;
- pb->size = size;
- pb->offset = 0;
- png_set_read_fn( png, &pb, PNGReadData );
- //png->io_ptr = &pb; /* hack! */
+ pb.buffer = buffer;
+ pb.size = size;
+ pb.offset = 0;
+ png_set_read_fn( png, (void*)&pb, PNGReadData );
/* set error longjmp */
if ( setjmp( png_jmpbuf(png) ) ) {