28 lines
		
	
	
		
			412 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			412 B
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/*
 | 
						|
 * fgets.c - get a string from a file
 | 
						|
 */
 | 
						|
/* $Header$ */
 | 
						|
 | 
						|
#include	<stdio.h>
 | 
						|
 | 
						|
char *
 | 
						|
fgets(char *s, register int n, register FILE *stream)
 | 
						|
{
 | 
						|
	register int ch;
 | 
						|
	register char *ptr;
 | 
						|
 | 
						|
	ptr = s;
 | 
						|
	while (--n > 0 && (ch = getc(stream)) != EOF) {
 | 
						|
		*ptr++ = ch;
 | 
						|
		if ( ch == '\n')
 | 
						|
			break;
 | 
						|
	}
 | 
						|
	if (ch == EOF) {
 | 
						|
		if (feof(stream)) {
 | 
						|
			if (ptr == s) return NULL;
 | 
						|
		} else return NULL;
 | 
						|
	}
 | 
						|
	*ptr = '\0';
 | 
						|
	return s;
 | 
						|
}
 |