1*3e12c5d1SDavid du Colombier /* 2*3e12c5d1SDavid du Colombier * pANS stdio -- fgets 3*3e12c5d1SDavid du Colombier */ 4*3e12c5d1SDavid du Colombier #include "iolib.h" fgets(char * as,int n,FILE * f)5*3e12c5d1SDavid du Colombierchar *fgets(char *as, int n, FILE *f){ 6*3e12c5d1SDavid du Colombier int c; 7*3e12c5d1SDavid du Colombier char *s=as; 8*3e12c5d1SDavid du Colombier c = EOF; 9*3e12c5d1SDavid du Colombier while(n>1 && (c=getc(f))!=EOF){ 10*3e12c5d1SDavid du Colombier *s++=c; 11*3e12c5d1SDavid du Colombier --n; 12*3e12c5d1SDavid du Colombier if(c=='\n') break; 13*3e12c5d1SDavid du Colombier } 14*3e12c5d1SDavid du Colombier if(c==EOF && s==as 15*3e12c5d1SDavid du Colombier || ferror(f)) return NULL; 16*3e12c5d1SDavid du Colombier if(n) *s='\0'; 17*3e12c5d1SDavid du Colombier return as; 18*3e12c5d1SDavid du Colombier } 19