Imported from libpng-0.90.tar
diff --git a/pngrio.c b/pngrio.c index facd431..96d8290 100644 --- a/pngrio.c +++ b/pngrio.c
@@ -1,10 +1,10 @@ /* pngrio.c - functions for data input - libpng 1.0 beta 3 - version 0.89 + libpng 1.0 beta 4 - version 0.90 For conditions of distribution and use, see copyright notice in png.h Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - May 25, 1996 + January 10, 1997 This file provides a location for all input. Users which need special handling are expected to write a function which has the same @@ -56,29 +56,19 @@ #define NEAR_BUF_SIZE 1024 #define MIN(a,b) (a <= b ? a : b) -#ifdef _MSC_VER -/* for FP_OFF */ -#include <dos.h> -#endif - static void png_default_read_data(png_structp png_ptr, png_bytep data, png_uint_32 length) { png_uint_32 check; png_byte *n_data; + FILE *io_ptr; /* Check if data really is near. If so, use usual code. */ -#ifdef _MSC_VER - /* do it this way just to quiet warning */ - FP_OFF(n_data) = FP_OFF(data); - if (FP_SEG(n_data) == FP_SEG(data)) -#else - /* this works in MSC also but with lost segment warning */ - n_data = (png_byte *)data; + n_data = (png_byte *)CVT_PTR_NOCHECK(data); + io_ptr = (FILE *)CVT_PTR(png_ptr->io_ptr); if ((png_bytep)n_data == data) -#endif { - check = fread(n_data, 1, (size_t)length, (FILE *)png_ptr->io_ptr); + check = fread(n_data, 1, (size_t)length, io_ptr); } else { @@ -89,7 +79,7 @@ do { read = MIN(NEAR_BUF_SIZE, remaining); - err = fread(buf, 1, read, (FILE *)png_ptr->io_ptr); + err = fread(buf, 1, read, io_ptr); png_memcpy(data, buf, read); /* copy far buffer to near buffer */ if(err != read) break;