2015-12-22 12:55:44 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the UCB release of Plan 9. It is subject to the license
|
|
|
|
* terms in the LICENSE file found in the top-level directory of this
|
|
|
|
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
|
|
|
|
* part of the UCB release of Plan 9, including this file, may be copied,
|
|
|
|
* modified, propagated, or distributed except according to the terms contained
|
|
|
|
* in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
2016-11-25 17:18:40 +01:00
|
|
|
/*
|
|
|
|
* pANS stdio -- fgets
|
|
|
|
*/
|
|
|
|
#include "iolib.h"
|
|
|
|
char *fgets(char *as, int n, FILE *f){
|
2015-12-22 12:55:44 +01:00
|
|
|
int c;
|
2016-11-25 17:18:40 +01:00
|
|
|
char *s=as;
|
|
|
|
c = EOF;
|
|
|
|
while(n>1 && (c=getc(f))!=EOF){
|
|
|
|
*s++=c;
|
|
|
|
--n;
|
|
|
|
if(c=='\n') break;
|
2015-12-22 12:55:44 +01:00
|
|
|
}
|
2016-11-25 17:18:40 +01:00
|
|
|
if(c==EOF && s==as
|
|
|
|
|| ferror(f)) return NULL;
|
|
|
|
if(n) *s='\0';
|
|
|
|
return as;
|
2015-12-22 12:55:44 +01:00
|
|
|
}
|