30 lines
		
	
	
		
			445 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			445 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/*
 | 
						|
 * fread.c - read a number of members into an array
 | 
						|
 */
 | 
						|
/* $Header$ */
 | 
						|
 | 
						|
#include	<stdio.h>
 | 
						|
 | 
						|
size_t
 | 
						|
fread(void *ptr, size_t size, size_t nmemb, register FILE *stream)
 | 
						|
{
 | 
						|
	register char *cp = ptr;
 | 
						|
	register int c;
 | 
						|
	size_t ndone = 0;
 | 
						|
	register size_t s;
 | 
						|
 | 
						|
	if (size)
 | 
						|
		while ( ndone < nmemb ) {
 | 
						|
			s = size;
 | 
						|
			do {
 | 
						|
				if ((c = getc(stream)) != EOF)
 | 
						|
					*cp++ = c;
 | 
						|
				else
 | 
						|
					return ndone;
 | 
						|
			} while (--s);
 | 
						|
			ndone++;
 | 
						|
		}
 | 
						|
 | 
						|
	return ndone;
 | 
						|
}
 |